Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Distinct Curiosidad (https://www.clubdelphi.com/foros/showthread.php?t=78317)

ASAPLTDA 08-04-2012 23:19:00

Distinct Curiosidad
 
Hola foristas el siguiente sql funciona en firebird 2.1 pero:

Código SQL [-]
SELECT  DISTINCT(CONUMERO),  CONO, WHSCOD, WHSLOC, CLIENTE    FROM INSALDO
GROUP BY CONO, WHSCOD, CONUMERO, WHSLOC, CLIENTE

el siguiente no funciona

Código SQL [-]
SELECT  CONO, WHSCOD, WHSLOC, CLIENTE,  DISTINCT(CONUMERO),    FROM INSALDO
GROUP BY CONO, WHSCOD, CONUMERO, WHSLOC, CLIENTE

Caral 08-04-2012 23:28:47

Hola
DISTINCT genera la distinción sobre la linea completa, por eso funciona al principio de esta.
Si se requiere una distincion de un campo determinado se usan otras como, Last, Min entre otras.
Saludos

AzidRain 09-04-2012 21:35:24

Casi no uso FB, pero de entrada ninguna de las 2 sentencias debería ser válida pues DISTINCT no es una función, sino una modificación a la sentencia SELECT. Lo que FB hace, a mi juicio "chapuceramente", es obviar el paréntesis en la primera sentencia y tratar toda la setencia como si se hubiera escrito:

Código SQL [-]
SELECT  DISTINCT CONUMERO,  CONO, WHSCOD, WHSLOC, CLIENTE    FROM INSALDO
GROUP BY CONO, WHSCOD, CONUMERO, WHSLOC, CLIENTE

Y digo chapuceramente porque aunque arroja el resultado correcto, no informa que la sintaxis no es correcta.

DISTINCT lo que hace es eliminar filas duplicadas, siempre y cuando todos y cada uno de sus campos sean idénticos.


La franja horaria es GMT +2. Ahora son las 18:13:00.

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