n03l
19-01-2014, 19:18:52
Saludos, haber si alguien me hecha una ayudita en una consulta SQL.
El asunto es el siguiente: Tengo 3 tablas
CREATE TABLE USUARIOS (
USUARIO VARCHAR(25) NOT NULL
);
/*Datos de la tabla anterior */
USUARIO
USUARIO1
USUARIO2
/*Esta tabla guarda los correos que el usuario a enviado */
CREATE TABLE CORREOS (
DESTINATARIO VARCHAR(200),
MENSAJE VARCHAR(200),
USUARIO VARCHAR(25),
COD INTEGER NOT NULL
);
/*Datos de la tabla anterior */
DESTINATARIO MENSAJE USUARIO COD
JUAN@gmail.com Hola Juan USUARIO1 1
PEDRO@gmail.com Hola Pedro USUARIO2 2
DESCONOCIDO@gmail.com Hola desconocido tu no perteneces a mi lista de contactos USUARIO1 3
CREATE TABLE CONTACTOS (
NOMBRE VARCHAR(30),
CORREO VARCHAR(200),
USUARIO VARCHAR(25)
);
/*Datos de la tabla anterior */
NOMBRE CORREO USUARIO
JUAN JUAN@gmail.com USUARIO1
PEDRO PEDRO@gmail.com USUARIO2
JUAN JUAN@gmail.com USUARIO2
la consulta q hago
select contactos.nombre , correos.destinatario ,correos.usuario , correos.mensaje
from correos
LEFT JOIN usuarios ON correos.usuario =usuarios.usuario
LEFT OUTER JOIN contactos ON contactos.correo =correos.destinatario
Where usuarios.usuario='USUARIO1'
y el resultado es el siguiente:
NOMBRE DESTINATARIO USUARIO MENSAJE
JUAN JUAN@gmail.com USUARIO1 Hola Juan
JUAN JUAN@gmail.com USUARIO1 Hola Juan
DESCONOCIDO@gmail.com USUARIO1 Hola desconocido tu no perteneces a mi lista de contactos
USUARIO1 le envio a JUAN, pero como juan tambien pertenece a los contactos de USUARIO2 me lo repite!!!!
El asunto es el siguiente: Tengo 3 tablas
CREATE TABLE USUARIOS (
USUARIO VARCHAR(25) NOT NULL
);
/*Datos de la tabla anterior */
USUARIO
USUARIO1
USUARIO2
/*Esta tabla guarda los correos que el usuario a enviado */
CREATE TABLE CORREOS (
DESTINATARIO VARCHAR(200),
MENSAJE VARCHAR(200),
USUARIO VARCHAR(25),
COD INTEGER NOT NULL
);
/*Datos de la tabla anterior */
DESTINATARIO MENSAJE USUARIO COD
JUAN@gmail.com Hola Juan USUARIO1 1
PEDRO@gmail.com Hola Pedro USUARIO2 2
DESCONOCIDO@gmail.com Hola desconocido tu no perteneces a mi lista de contactos USUARIO1 3
CREATE TABLE CONTACTOS (
NOMBRE VARCHAR(30),
CORREO VARCHAR(200),
USUARIO VARCHAR(25)
);
/*Datos de la tabla anterior */
NOMBRE CORREO USUARIO
JUAN JUAN@gmail.com USUARIO1
PEDRO PEDRO@gmail.com USUARIO2
JUAN JUAN@gmail.com USUARIO2
la consulta q hago
select contactos.nombre , correos.destinatario ,correos.usuario , correos.mensaje
from correos
LEFT JOIN usuarios ON correos.usuario =usuarios.usuario
LEFT OUTER JOIN contactos ON contactos.correo =correos.destinatario
Where usuarios.usuario='USUARIO1'
y el resultado es el siguiente:
NOMBRE DESTINATARIO USUARIO MENSAJE
JUAN JUAN@gmail.com USUARIO1 Hola Juan
JUAN JUAN@gmail.com USUARIO1 Hola Juan
DESCONOCIDO@gmail.com USUARIO1 Hola desconocido tu no perteneces a mi lista de contactos
USUARIO1 le envio a JUAN, pero como juan tambien pertenece a los contactos de USUARIO2 me lo repite!!!!