PDA

Ver la Versión Completa : DISTINCT con mySQL


Alexis7788
06-10-2006, 18:19:51
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:

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
Era únicamente un atributo del ComboBox

¿Cuál atributo?

// Saludos

kayetano
10-10-2006, 11:50:03
Hola

puedes utilizar también

SELECT campo FROM tcampo_subcampo GROUP BY campo

es mas lento que DISTINCT.

roman
10-10-2006, 17:29:15
Era únicamente un atributo del ComboBox


¿Cuál atributo?



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

// Saludos