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