Tengo un pequeño rpoblema con la siguiente consulta:
Código:
Lo que pasa es que cuando ejecuto la consulta me saca registros repetidos, es decir; si por ejemplo tiene 2 multas entonces me salen 4 multas con esta consulta y no entiendo porque, creo que es por el cross join que utilizo pero si no utilizo este crossjoni entonces cómo relaizo la 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
a quien me pueda ayudar aodamr e alguna sugerencia de como puedo organizar esta conslta se lo agradezco de antemano

