Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   No repetir lineas (https://www.clubdelphi.com/foros/showthread.php?t=86616)

lbidi 08-09-2014 21:21:02

No repetir lineas
 
Estimados.

Tengo el siguente codigo.
Código Delphi [-]
Select o.Fecha, o.Ficha, o.Nombre, a.Estudio, e.Descripcion, o.Timbres, o.Carnet
From Ordenes o
Left Outer Join Analisis   a on o.Numero   = a.Numero
Left Outer Join Estudios   e on a.Estudio  = e.Estudio
Left Outer Join Pacientes  p on o.Paciente = p.Numero
Where o.Fecha Between '01/09/2014' and '01/09/2014'

y me da como resultado tantas lineas de la tabla ordenes ( master ) como encuentre en la tabla analisis ( detail ), esta correcto como lo hace, pero mi duda , es como puedo hacer para que los campos timbres y carnet de la tabla ordenes salgan una sola vez y no se me repitan por cada detalle ( analisis ) que encuentre. Se entiende ?

Utilizo Advantage pero la rutina deberia funcionar en cualquier bd supoongo.
Gracias

Casimiro Notevi 08-09-2014 21:26:29

Cambia left por inner.

ecfisa 09-09-2014 02:19:54

Si, usar INNER JOIN y si no entendí mal, además le agregaría DISTINCT.

Código SQL [-]
SELECT DISTINCT  O.TIMBRES, O.CARNET, O.FECHA, O.FICHA, O.NOMBRE, A.ESTUDIO, E.DESCRIPCION
FROM ORDENES O
INNER JOIN ANALISIS A ON O.NUMERO = A.NUMERO
INNER JOIN ESTUDIOS E ON A.ESTUDIO = E.ESTUDIO
INNER JOIN PACIENTES P ON O.PACIENTE = P.NUMERO
WHERE O.FECHA BETWEEN :DESDE AND :HASTA
Pero no estoy totalmente seguro de como deberían estar establecidas las relaciones...

Saludos :)


La franja horaria es GMT +2. Ahora son las 19:59:14.

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