Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   problema con consulta sql (https://www.clubdelphi.com/foros/showthread.php?t=32417)

kejos 05-06-2006 22:26:43

problema con consulta sql
 
hola a todos!!!!
tengo un pequeño problema con la siguiente consulta:

Código SQL [-]
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 salen 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

jjorell 30-06-2006 18:36:50

:) Para poder ayudarte primero debo saber cuales las llaves primarias de todas las tablas (Servicios,Multas,Ejemplares,Libros,Usuarios), pero puedo adelantarte que es posible que estes olvidando alguna relación, lo que puede causarte la multiplicación de los registros. Además debes considerar que si relacionas dos tablas con una relación de "uno" a "muchos" puede causarte que los registros se te repitan tantas veces como tu tabla detalle (la tabla "muchos").


La franja horaria es GMT +2. Ahora son las 16:33:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi