Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Consulta Select (https://www.clubdelphi.com/foros/showthread.php?t=81539)

ramiro024 23-11-2012 01:01:56

Consulta Select
 
Buenas, no se si este sera el lugar indicado para mi pregunta,espero que si.
Estoy trabajando con delphi 7 y sql manager, mi problema es que necesito hacer una consulta desde dos tablas, supongamos algo asi

TABLA 1: 10, 20, 30, 40, 50. 60, 70, 80, 90
TABLA 2: 60, 70, 80, 90

En la consulta lo que quiero lograr en que me arroje como resultado en un combobox los valores de la TABLA 1 que no estan en la TABLA 2..no se como se escribe la sentencia, busque sobre operadores pero no funciona con ninguno de los que probe

fdm.consulta1.SQL.Add('TABLA1.NUMERO from TABLA1, TABLA2 where.. y aho no se como seguir, bueno espero que alguien me pueda ayudar,
Gracias!

Faust 23-11-2012 01:29:09

Saludos, bienvenido y te recomiendo leer la guía de estilo y ser más explícito en tu preguntas, espero poder resolver tu duda...

El sql podría ser así:

Código SQL [-]
SELECT * 
FROM TABLA1 
WHERE TABLA1.Numero NOT IN (SELECT DISTINCT(TABLA2.Numero) FROM TABLA2)

Creo que ahora si fui el primero :D

Te toca meterlo al combo... el número eh :D

Casimiro Notevi 23-11-2012 11:40:02

Cita:

Empezado por ramiro024 (Mensaje 450235)
Buenas, no se si este sera el lugar indicado para mi pregunta,espero que si.

Tenemos foros para bases de datos, puedes elegir el que uses: firebird, postgresql, tablas planas, etc.


Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

Recuerda poner los tags al código fuente, ejemplo:



Gracias :)

ElDioni 23-11-2012 12:43:20

Hola,

yo lo suelo hacer así:

Código SQL [-]
SELECT DISTINCTROW Tabla1.Codigo
FROM Tabla1 LEFT JOIN Tabla2 ON Tabla1.Codigo = Tabla2.Codigo
WHERE (((Tabla2.Codigo) Is Null));

Saludos.

donpedro 23-11-2012 20:08:23

hola,,, la logica que presenta Faust es correcta funciona a la perfeccion, ahora si quieres mostrar eso en un combobox creo que esto te serviria.....

Código Delphi [-]
COMBOBOX1.CLEAR;
ADOQUERY1.CLOSE;
ADOQUERY1.SQL.CLEAR;
ADOQUERY1.SQL.ADD('SELECT A.CAMPO1 FROM TABLE1 A, TABLE2 B WHERE A.CAMPO NOT IN (SELECT DISTINCT(B.CAMPO) FROM TABLE2 B)');
ADOQUERY1.SQL.OPEN;

WHILE NOT ADOQUERY1.EOF DO
BEGIN
COMBOBOX1.ITEMS.ADD(ADOQUERY1.FIELDS[0].TEXT);
ADOQUERY1.NEXT;
END;

ramiro024 27-11-2012 01:26:26

Gracias
 
Bueno, respondo tarde pero mejor tarde que nunca, la verdad me sirvieron todas las sugerencias y la que priemro ocupe fue la de Faust, me sirvio para guiarme acerca de la sintaxis del select, mis conocimientos en delphi son muy basicos pero de a poco y buscando, ahora preguntado, me vasn saliendo las cosas, es como un hobbie ppor ahora, ojala alguna dia pueda hacer de laprogramacion algo serio, en fin, gracias y seguro voy a estar preguntando otras cosas, Gracias.-

Faust 27-11-2012 16:10:04

Claro que si, por acá te podemos ayudan en lo que podamos ^\||/


La franja horaria es GMT +2. Ahora son las 09:27:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi