Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Lenny.

En realidad me refería a la estructura de las tablas, pero vamos a suponer que:

TABLA1
Cita:
ID (identificador)
CP1
CP2
TABLA2
Cita:
ID (identificador)
CP1
CP2
CP3
TABLA1_ID ( campo referencia a TABLA1 (en común) )
Algún campo en comun tendrán que tener por que si no sería imposible saber cuáles registros de la TABLA1 no están en la TABLA2. En este caso es: TABLA2.TABLA1_ID = TABLA1.ID.

Entonces para la TABLA1 y desde Delphi sería algo así:
Código Delphi [-]
...
  with TuQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM TABLA1 T1 ');
    SQL.Add('WHERE NOT EXISTS ');
    SQL.Add('(SELECT T2.ID FROM TABLA2 WHERE T2.TABLA1_ID = T1.ID)');
    Open;
  end;
...
Es por eso que te pedía los nombres reales de campos y tablas; para evitarte las traducciones...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 05-05-2012
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 20
Lenny Va por buen camino
Question

aps... sorry!!!
Seria asi:

Correos_T (ZTable1)
Usuario (identificador)
Area
Correo

CorreosNC_T (ZTable2)
Usuario (identificador)
Area
Correo

Esa seria la estructura de la tabla, gracias nuevamente!!!
Responder Con Cita
  #3  
Antiguo 05-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Lenny.

Suponiendo que Correo es el campo en común (el que servirá para saber si está ingresado o no) creo que sería:
Código Delphi [-]
...
  with TuQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM Correos_T T1 ');
    SQL.Add('WHERE NOT EXISTS ');
    SQL.Add('(SELECT T2.Usuario FROM CorreosNC_T WHERE T2.Correo = T1.Correo)');
    Open;
  end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 06-05-2012
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 20
Lenny Va por buen camino
Estimado, gracias por la paciencia y ayuda...
Sorry, pero aun no me funciona, preciono el Button y no hace nada... te dejo como lo tengo:

Código Delphi [-]
 
begin
  with ZQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM Correos ');
    SQL.Add('WHERE NOT EXISTS ');
    SQL.Add('(SELECT CorreosNC.Correo FROM CorreosNC WHERE CorreosNC.Correo = Correos.Correo)');
    Open;
  end;
end;

Y este es el orden que tengo:

Correos_T (ZTable1), Nombre Tabla: Correos
Usuario
Area
Correo

CorreosNC_T (ZTable2), Nombre Tabla: CorreosNC
Usuario
Area
Correo

Y efectivamente el campo Correo es el comun en ambos, de antemano muchas gracias ante cualquier ayuda...

Última edición por Lenny fecha: 06-05-2012 a las 08:12:41.
Responder Con Cita
  #5  
Antiguo 06-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Lenny.

Entonces seguramente sea el campo Usuario el que identifica y por tanto sea común a ambas tablas, sobre el que debería realizarse la comparación.

Código SQL [-]
SELECT * FROM CORREOS_T T1
WHERE NOT EXISTS (SELECT T2.USUARIO FROM CORREOSNC_T T2 WHERE T2.USUARIO = T1.USUARIO)

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 07-05-2012
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 20
Lenny Va por buen camino
Question

Estimado, mil gracias por toda la ayuda, realmente quien cometia el error era yo, a pesar de llevar unoa añitos novateando con delphi nunca habia trabajado con consultas, ahora afortunadamente me vi obligado a hacerlo y me costo pero entendi, el error era que estaba con el ZTable en ves del ZQuery, o sea, hacia todo bien pero noe staba apuntando adonde devia y como. Funciono increiblemente bien!!! hace lo que necesito y estoy buscando referencias a consultas para seguir aprendiendo junto a ustedes quienes me han sacado de tantos apuros, nuevamente gracias!!!

Solo una pregunta, como para cerrar el tema, es mejor trabajarlo todo con consultas???
Tengo un par de programas pequeños que se trabajan local y a veces desde afuera de la red, todo impeque, pero al hacerlo con consulta los tiempos de respuesta mejoran??? eso y gracias nuevamente...
Responder Con Cita
  #7  
Antiguo 07-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Lenny.

No conozco los componentes Zeos, pero en general la ventaja de los XQuerys sobre los XTables es que estas últimas traen todos los registros y en la consulta se puede seleccionar sólo los necesarios, disminuyendo así drásticamente el tráfico y los tiempos. En contrapartida las inserciones, modificaciones y borrados son mucho más simples de realizar con los XTables.

Revisá este enlace: Tipo de tablas en ZEOS: ¿TZQuery o TZTable? .

Los IBX por ejemplo, tienen el TIBDataSet, que conjuga los mejores aspectos de ambos componentes. Pero desconozco si Zeos tiene algo parecido.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
filtrar 2 tablas BlueSteel SQL 4 23-07-2011 00:37:23
Filtrar tres tablas paradox al tiempo Camilo Conexión con bases de datos 3 09-10-2007 10:50:51
Problema al filtrar un Query entre fechas judit25 Conexión con bases de datos 18 20-04-2007 00:03:38
Filtrar Registros entre fechas capitan_nemo Tablas planas 1 02-04-2007 08:12:55
Update entre tablas rafadrover SQL 4 20-08-2003 20:42:49


La franja horaria es GMT +2. Ahora son las 15:49:37.


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