problema con consulta sql
Publicado por kelly (9 intervenciones) el 05/06/2006 21:36:56
hola a todos!!!!
tengo un pequeño problema con la siguiente consulta:
IF (SELECT COUNT(IDLibro)
FROM Ejemplares
WHERE CodigoAcceso IN
(SELECT Servicios.CodigoAcceso
FROM Servicios INNER JOIN Multas ON Servicios.IDServicio =
Multas.IDServicio
WHERE Multas.FechaCancelacion IS NULL AND Multas.IDUsuario IN
(SELECT IDUsuario
FROM Usuarios
WHERE Documento = '21526734'))) != 0
BEGIN
SELECT Multas.IDServicio, Multas.IDMulta, Multas.FechaMulta, Multas.Valor INTO #MultaL
FROM Servicios INNER JOIN Multas ON Servicios.IDServicio = Multas.IDServicio
WHERE Multas.FechaCancelacion IS NULL
AND Multas.IDUsuario IN
(SELECT IDUsuario
FROM Usuarios
WHERE Documento = '21526734')
SELECT Libros.IDLibro AS IDMaterial,Libros.Titulo, Libros.Clasificacion,Libros.IDTipoMaterial, Ejemplares.CodigoAcceso, #MultaL.IDServicio, #MultaL.IDMulta, #MultaL.FechaMulta, #MultaL.Valor
FROM Ejemplares INNER JOIN Libros ON Ejemplares.IDLibro = Libros.IDLibro CROSS JOIN #MultaL
WHERE Ejemplares.CodigoAcceso IN (SELECT Servicios.CodigoAcceso
FROM Servicios INNER JOIN Multas ON Servicios.IDServicio = Multas.IDServicio
WHERE Multas.FechaCancelacion IS NULL AND Multas.IDUsuario IN
(SELECT IDUsuario
FROM Usuarios
WHERE Documento = '21526734'))
ORDER BY IDMulta DESC
END
La consulta me esta arrojando resultados repetidos, es decir; cuando yo ejecuto la consulta si tengo 2 registros me saln 4 registros y no entiendo porque esta pasando esto a quien me pueda ayudar o darme laguna sugerencia de cómo puedo realizar esta consulta con todos los campos ya que todos los necesito, se los agradezco de antemano
tengo un pequeño problema con la siguiente consulta:
IF (SELECT COUNT(IDLibro)
FROM Ejemplares
WHERE CodigoAcceso IN
(SELECT Servicios.CodigoAcceso
FROM Servicios INNER JOIN Multas ON Servicios.IDServicio =
Multas.IDServicio
WHERE Multas.FechaCancelacion IS NULL AND Multas.IDUsuario IN
(SELECT IDUsuario
FROM Usuarios
WHERE Documento = '21526734'))) != 0
BEGIN
SELECT Multas.IDServicio, Multas.IDMulta, Multas.FechaMulta, Multas.Valor INTO #MultaL
FROM Servicios INNER JOIN Multas ON Servicios.IDServicio = Multas.IDServicio
WHERE Multas.FechaCancelacion IS NULL
AND Multas.IDUsuario IN
(SELECT IDUsuario
FROM Usuarios
WHERE Documento = '21526734')
SELECT Libros.IDLibro AS IDMaterial,Libros.Titulo, Libros.Clasificacion,Libros.IDTipoMaterial, Ejemplares.CodigoAcceso, #MultaL.IDServicio, #MultaL.IDMulta, #MultaL.FechaMulta, #MultaL.Valor
FROM Ejemplares INNER JOIN Libros ON Ejemplares.IDLibro = Libros.IDLibro CROSS JOIN #MultaL
WHERE Ejemplares.CodigoAcceso IN (SELECT Servicios.CodigoAcceso
FROM Servicios INNER JOIN Multas ON Servicios.IDServicio = Multas.IDServicio
WHERE Multas.FechaCancelacion IS NULL AND Multas.IDUsuario IN
(SELECT IDUsuario
FROM Usuarios
WHERE Documento = '21526734'))
ORDER BY IDMulta DESC
END
La consulta me esta arrojando resultados repetidos, es decir; cuando yo ejecuto la consulta si tengo 2 registros me saln 4 registros y no entiendo porque esta pasando esto a quien me pueda ayudar o darme laguna sugerencia de cómo puedo realizar esta consulta con todos los campos ya que todos los necesito, se los agradezco de antemano
Valora esta pregunta


0