Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Disctinct con registros iguales (https://www.clubdelphi.com/foros/showthread.php?t=25703)

Barzaugc 30-09-2005 18:01:29

Disctinct con registros iguales
 
que ha habido mundo delphi?, me ausente por unos dias pero ya regrese y para no variar, con una pregunta que me ha traido loco por varios dias y que quizas ustedes me pudieran responder, el asunto es el siguiente:

Estoy elaborando un reporte con tablas en SQL Server 2000, el caso es que cuando realizo la consulta de una de las tablas de detalle de la base de datos, hay algunos registros que estan repetidos, esto es normal, ya que al ser tabla de detalle hay muchos registros iguales, pero como los campos que necesito y que elegi en la consulta tiene la misma informacion, no tiene caso ponerla asi en el reporte, por lo que necesitaria quitar los registros repetidos de la consulta para que en el reporte salgan todos diferentes. En seguida esta un ejemplo de como es mi consulta:

15505 - 871 - WoodMill - 2005/08/03 - 181 - 4453.41
15505 - 871 - WoodMill - 2005/08/03 - 3181 - 4453.41 *
15506 - 1032 - Trepi Inc - 2005/08/03 - 5220 - 4445.40
15507 - 932 - SmithMill - 2005/08/03 - 3771 - 4735.91
15507 - 932 - SmithMill - 2005/08/03 - 3771 - 4735.91 *
15507 - 932 - SmithMill - 2005/08/03 - 3771 - 4735.91 *

* Registros Repetidos

En el reporte debe de ir:

15505 - 871 - WoodMill - 2005/08/03 - 181 - 4453.41
15506 - 1032 - Trepi Inc - 2005/08/03 - 5220 - 4445.40
15507 - 932 - SmithMill - 2005/08/03 - 3771 - 4735.91

El caso es que quiero pasar el codigo SQL tal cual de la consulta al reporte que es en Crystal, pero ya que no saque registros repetidos.

Intente realizarlo con el "Distinct" pero como son varios campos y en estos hay la misma informacion en varios registros, no me saca la misma informacion repetida. Se les agradeceria si tiene alguna sugerencia sobre como hacer esto directamente en el codigo SQL.

De antemano muchas gracias por la atencion y espero tengan varias sugerencias para esta pregunta.

Gracias!!!

ContraVeneno 30-09-2005 18:14:36

No entendí cuál fue el error, si entendí el problema, pero no vi cuál es el error.
¿un disctinct - group by no funcionó?
¿Podrías poner el código SQL que utilizaste?

Barzaugc 30-09-2005 20:34:35

No es un error, sino que me muestra informacion repetida y quiero mostrar solamente un registro. El "group by" no me funciona porque son varios campos en el select, solo me funciona con uno, y el distinct me muestra los campos repetidos, como sin no lo pusiera. El codigo es este:

select
distinct oehdrhst.inv_no, --distinct
oehdrhst.ord_no,
oehdrhst.bill_to_name,
oehdrhst.inv_dt,
oehdrhst.tot_sls_amt,
from
oehdrhst left join oelinhst on
oehdrhst.inv_no=oelinhst.inv_no
where
(oehdrhst.inv_dt>=20050801 and oehdrhst.inv_dt<=20050831)
and oehdrhst.inv_no>15000 and
oehdrhst.oe_po_no<>''
group by oehdrhst.inv_no --group by



en el codigo aparecen el distinct y el group by, pero no los puse juntos, probe uno a la vez, solo esta la forma en que los utilice.


Por cierto, gracias por tu tiempo man!!!!

ContraVeneno 30-09-2005 21:08:07

Siento no poder ayudarte, pero probe tu instrucción utilizando solo el distinct y me funcionó bien, tal vez me esta faltando algún detalle o a ti te esta faltando un detalle. Espero que alguien más pueda aportar una idea.

lucasarts_18 30-09-2005 21:26:45

Hola:

Cita:

15505 - 871 - WoodMill - 2005/08/03 - 181 - 4453.41
15505 - 871 - WoodMill - 2005/08/03 - 3181 - 4453.41 *
Estos registros son distintos, puede que sea una consulta de uno a muchos, en tal caso si quieres mostrarla en un reporte, por lo menos en Quick Report puedes agruparlo gracias al componente QRGroup.

Me imagino que en el cristal también se puede, pero para llegar hasta ahí yo no puedo...

;)

Barzaugc 30-09-2005 21:34:24

ya encontre el problema, lo que pasa es que estaba tratando de mostrar datos tambien de la otra tabla y quitandole esos campos ya jalo bien.

Se te agradece mil veces la ayuda man, Saludos!!!!


La franja horaria es GMT +2. Ahora son las 23:38:56.

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