Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   DISTINCT con mySQL (https://www.clubdelphi.com/foros/showthread.php?t=36273)

Alexis7788 06-10-2006 18:19:51

DISTINCT con mySQL
 
Buenas tardes, necesito resolver un problema básico. Necesito mostrar en un LookupComboBox los campos DISTINTOS de una tabla. Para ello utilizo un Query y SELECT DISTINCT campo FROM tcampo_subcampo pero me devuelve todos los que hay en la lista, repetidos incluidos y no encuentro la manera en que repararlo. Alguien puede ayudarme? Gracias

Caral 06-10-2006 18:54:52

Hola Alexis7788
Por que de una tabla en un LookupComboBox y no en un Combobox ?
Es curiosidad
Saludos

Alexis7788 06-10-2006 19:03:08

Me lo han enseñado así: si se va a reflejar algún campo de BD usar un LookUp pero es verdad, voy a probar como dices. ¿Resolvería eso el problema? Gracias

Caral 06-10-2006 19:07:01

La verdad Alexis7788
No nunca he usado un LookupComboBox, tal vez no he necesitado, no se exactamente cual sea tu problema pero cualquier comparacion se puede hacer con una sentencia sql adecuada y pasar el dato a cualquier componente, LookupComboBox, combobox, grid, edit ect.
Tal vez si pones el codigo o parte de el se pueda llegar a algo.
Saludos

Alexis7788 06-10-2006 19:17:24

with Query2 do
begin
with SQL do
begin
DataModule1.tcampo_subcampo.Close;
Clear;
DataModule1.tcampo_subcampo.Open;
Add('SELECT DISTINCT campo FROM tcampo_subcampo ');
Open;
end;
end;

Así lo he intentado programar pero como he dicho al principio, salen registros de campo duplicados y lo que quiero justamente es mostrar únicamente los diferenciados. Gracias por tu ayuda

roman 06-10-2006 19:26:10

No tendría por qué fallas esta consulta. ¿Has probado ejecutarla directamente en la consola?

// Saludos

Alexis7788 06-10-2006 19:34:52

Por fin resuelto, gracias por todo. Era únicamente un atributo del ComboBox. Gracias a los dos por preocuparos. Un saludo

Caral 06-10-2006 19:35:08

Hola denuevo
No se por que pero asi me funciona:
Código Delphi [-]
with Query2 do
begin
with SQL do
begin
DataModule1.tcampo_subcampo.Close;
Clear;
DataModule1.tcampo_subcampo.Open;
Add('SELECT DISTINCT campo as Camp FROM tcampo_subcampo ');
Open;
end;
end;
La verdad no se porque ? pero hay que ponerle el as para que distinga.
Saludos

roman 06-10-2006 19:36:56

Cita:

Empezado por Alexis7788
Era únicamente un atributo del ComboBox

¿Cuál atributo?

// Saludos

kayetano 10-10-2006 11:50:03

Hola

puedes utilizar también
Código SQL [-]
SELECT campo FROM tcampo_subcampo GROUP BY campo
es mas lento que DISTINCT.

roman 10-10-2006 17:29:15

Cita:

Empezado por roman

Cita:

Empezado por Alexis7788
Era únicamente un atributo del ComboBox

¿Cuál atributo?

Y bueno Alexis, ¿qué es muy difícil contestar esto?

// Saludos


La franja horaria es GMT +2. Ahora son las 23:44:20.

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