Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Ayuda con select en dos tablas (https://www.clubdelphi.com/foros/showthread.php?t=80066)

n03l 01-09-2012 18:22:55

Ayuda con select en dos tablas
 
saludos, queria saber si podian hechar una manito para un select con dos tablas.
les explico. tengo dos tablas una se llama "CORREO_CONTACTOS" y la otra "CORREO_ENTRADA"

ORREO_CONTACTOS
Código SQL [-]
CREATE TABLE CORREO_CONTACTOS (
    NOMBRE  VARCHAR(50),
    CORREO  VARCHAR(80) NOT NULL
);

CORREO_ENTRADA
Código SQL [-]
CREATE TABLE CORREO_ENTRADA (
    CORREO   VARCHAR(80),
    MENSAJE  VARCHAR(500),
    COD      INTEGER NOT NULL
);

y tengo estos datos en la tabla correo_contactos
Código SQL [-]
y estos en la tabla correo_entrada
Código SQL [-]
CORREO    MENSAJE    COD
[email protected]    HOLA    1
[email protected]    HELLO    2
[email protected]    HOLA2    3

y le hago un select a las dos tablas
Código SQL [-]
SELECT correo_contactos.nombre, correo_contactos.correo, correo_entrada.mensaje
FROM correo_contactos, correo_entrada
WHERE correo_contactos.correo=correo_entrada.correo

y como resultado me muestra los correos recibidos solo los de los contactos que tengo agregados
Código SQL [-]
NOMBRE    CORREO    MENSAJE
LUIS    [email protected]    HOLA
PEDRO    [email protected]    HOLA2
la pregunta haria para que me muestre todos los correo recividos sin importar si los tengo agregados

saludos y gracias..

Casimiro Noteví 01-09-2012 18:51:48

Tendrás que quitar la condición, el "where ......."

n03l 01-09-2012 19:29:28

Hola gracias.
No me funciona me sale esto
Código SQL [-]
NOMBRE    CORREO    MENSAJE
JUAN    [email protected]    HOLA
JUAN    [email protected]    HELLO
JUAN    [email protected]    HOLA2
PEDRO    [email protected]    HOLA
PEDRO    [email protected]    HELLO
PEDRO    [email protected]    HOLA2
LUIS    [email protected]    HOLA
LUIS    [email protected]    HELLO
LUIS    [email protected]    HOLA2

roman 01-09-2012 19:43:15

Cita:

Empezado por n03l (Mensaje 441461)
la pregunta haria para que me muestre todos los correo recividos sin importar si los tengo agregados

Debes usar un outer join:

Código SQL [-]
SELECT correo_contactos.nombre, correo_contactos.correo, correo_entrada.mensaje
FROM correo_entrada
LEFT JOIN correo_contactos ON correo_contactos.correo = correo_entrada.correo

// Saludos

n03l 01-09-2012 20:06:47

Mil Gracias hermano, diste en el clavo, me funciono al pelo


La franja horaria es GMT +2. Ahora son las 20:43:14.

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