Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Traer registros de un campo de distintas tablas

Estas en el tema de Traer registros de un campo de distintas tablas en el foro de Mysql en Foros del Web. Buenas, Estoy un poco perdido con esto a ver si me pueden dar una mano, resulta que tengo dos tablas distintas las cuales cada una ...
  #1 (permalink)  
Antiguo 28/05/2009, 20:43
Avatar de mixba  
Fecha de Ingreso: noviembre-2003
Ubicación: CPU (Interior)
Mensajes: 116
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Traer registros de un campo de distintas tablas

Buenas,
Estoy un poco perdido con esto a ver si me pueden dar una mano, resulta que tengo dos tablas distintas las cuales cada una tiene un campo en particular que contiene direcciones de mail, lo que yo quiero hacer es traer todos los mails haciendo un while en php pero no logro "unificar" los registros, la idea es esta:

Cita:
tabla1 contiene un campo denominado user_email
tabla2 contiene un campo denominado email
ahora bien, necesito traer todos los registros en "user_email" y al finalizar hacerlo con los que estén en "email" (como si se tratase de una única tabla)

He probado haciendo lo siguiente:

Cita:
$sql = "SELECT u.user_email, n.email
FROM users u, newsletter n
WHERE u.newsletter = '1'
AND n.status = '0'";
pero no hay caso, ya no se que hacer

Espero sus opiniones y sugerencias,
Gracias
  #2 (permalink)  
Antiguo 28/05/2009, 21:21
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Traer registros de un campo de distintas tablas

Cual es la estructura de las tablas?

Solo sería transportar una columna?

Los emails deben estar asociados a un usuario en general?

Con toda está información te podrían dar una solución.

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 28/05/2009, 21:48
Avatar de mixba  
Fecha de Ingreso: noviembre-2003
Ubicación: CPU (Interior)
Mensajes: 116
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Traer registros de un campo de distintas tablas

Cita:
Iniciado por huesos52 Ver Mensaje
Cual es la estructura de las tablas?

Solo sería transportar una columna?

Los emails deben estar asociados a un usuario en general?

Con toda está información te podrían dar una solución.

Un saludo
Gracias huesos x la respuesta, creo que es más facil que toda la explicación que dí antes y es más, hasta de las preguntas que me hacés...
es solo traer los registros pero TODOS los de ese campo en particular (por ejemplo: la tabla1 tiene 500 registros, entonces traigo los 500 user_email que tenga; y la tabla2 tiene 250, entonces traigo los 250 email que contenga) sin importar que tenga en el resto de los campos, pero la idea es traer tanto 'user_email' e 'email' considerando estos dos últimos, campos de distintas tablas. SOLO quiero que me traiga los 750 correos en un solo query, ni comparar, ni join, ni filtrar, ni nada de eso.

Bueno, espero se entienda lo que preciso,
Gracias
  #4 (permalink)  
Antiguo 28/05/2009, 21:55
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Traer registros de un campo de distintas tablas

jejeje.. No te entendí mucho... pero pprueba esto con tus registros.

Código mysql:
Ver original
  1. insert into tabla (email) select user_email from usuarios;

Esto te insertará en tabla, todos los emails de la tabla usuario en la tabla 'tabla'.

espero te sirva... si no es lo que digo, te agradecería un ejemplo grafico..

jejeje

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 29/05/2009, 01:12
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Traer registros de un campo de distintas tablas

mixba, si te he entendido bien sería algo así:
Código sql:
Ver original
  1. (SELECT user_email EMAIL FROM users)
  2. UNION ALL
  3. (SELECT email FROM newsletter)

Importante: los dos campos deben ser del mismo tipo. Aviso: si hay repetidos, los repetirá; si quieres evitar las repeticiones, usa UNION en lugar de UNION ALL. Ah, y naturalmente, podrás usar filtros, pero tendrás que introducirlos en ambos select...
Puedes ordenar de manera general o por tablas. Si es por cada tabla lo haces dentro de cada paréntesis, si es general, lo haces tras el cierre del último paréntesis.

Última edición por jurena; 29/05/2009 a las 03:41
  #6 (permalink)  
Antiguo 29/05/2009, 17:09
Avatar de mixba  
Fecha de Ingreso: noviembre-2003
Ubicación: CPU (Interior)
Mensajes: 116
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Traer registros de un campo de distintas tablas

Cita:
Iniciado por jurena Ver Mensaje
mixba, si te he entendido bien sería algo así:
Código sql:
Ver original
  1. (SELECT user_email EMAIL FROM users)
  2. UNION ALL
  3. (SELECT email FROM newsletter)

Importante: los dos campos deben ser del mismo tipo. Aviso: si hay repetidos, los repetirá; si quieres evitar las repeticiones, usa UNION en lugar de UNION ALL. Ah, y naturalmente, podrás usar filtros, pero tendrás que introducirlos en ambos select...
Puedes ordenar de manera general o por tablas. Si es por cada tabla lo haces dentro de cada paréntesis, si es general, lo haces tras el cierre del último paréntesis.
jurena, es exactamente lo que quería hacer. lo probé y funciona perfecto

Gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:09.