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

mostrar datos de 2 tablas con join

Estas en el tema de mostrar datos de 2 tablas con join en el foro de Mysql en Foros del Web. Hola, tengo una consulta respecto a mostrar unos resultados al unir dos tablas, tengo la tabla lang donde tengo estos campos: id, cod_pais y la ...
  #1 (permalink)  
Antiguo 29/08/2018, 20:58
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
mostrar datos de 2 tablas con join

Hola, tengo una consulta respecto a mostrar unos resultados al unir dos tablas, tengo la tabla lang donde tengo estos campos: id, cod_pais y la tabla post con los campos: id, titulo, id_lang, group_post

ahora necesito mostrar ciertos resultados , digamos tengo en la tabla lang 3 idiomas (pueden haber mas) español, ingles y portugues y en la tabla posts solo dos registros uno en español y el otro en ingles, necesito que al escoger con un select mostrar los titulos y cod_pais de los otros idiomas por ejemplo selecciono español me muestre el cod_pais y titulo de los otros idiomas peor como el post en portugues no esta solo me muerte su cod_pais con el titulo vacio. esta es mi consulta pero no hace lo que necesito ya que solo muestra los registros del idoma q esta en el post (el campo group_post se usa para relacionar los post de los idiomas)

Código MySQL:
Ver original
  1. SELECT L.cod_pais, P.titulo
  2. FROM lang L LEFT JOIN posts P ON P.id_lang = L.id
  3. WHERE P.group_post = 1
  4. AND L.id NOT IN (SELECT 1 FROM lang);
  #2 (permalink)  
Antiguo 30/08/2018, 10:24
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.404
Antigüedad: 13 años, 3 meses
Puntos: 774
Respuesta: mostrar datos de 2 tablas con join

pon un ejemplo de tus datos y de lo que esperas obtener, otra cosa ese tema ya se ha tratado varias veces te recomiendo buscar en el foro
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 30/08/2018, 16:54
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostrar datos de 2 tablas con join

Hola y gracias por responder, haber en la tabla lang tengo estos datos:

id - cod_pais
1 - es_PE
2 - en_US
3 - pt_BR

la tabla posts digamos agregue el idioma español osea de id_lang = 1 y el Ingles de id_lang: 2

id - titulo - id_parent - id_lang - group_post
1 - español - 0 - 1 - 1
2 - Ingles - 1 - 2 - 1

entonces quiero que la consulta me muestre:

cod_pais - titulo
es_PE - español
en_US - ingles
pt_BR - "vacio" -> ya que no esta registrado
  #4 (permalink)  
Antiguo 30/08/2018, 18:53
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostrar datos de 2 tablas con join

Hola bueno con esto pude resolver lo que encesitaba

Código MySQL:
Ver original
  1. SELECT L.cod_pais, P.titulo
  2. FROM lang L LEFT JOIN posts P ON P.id_lang = L.id
  3. AND P.group_post = 1
  4. WHERE L.id NOT IN (SELECT 3 FROM lang)

El titulo que esta vacio me muestra null y necesito que no muestre nada solo quede vacio ese input, eso seía todo.

Edición 1: ya lo resolvi de esta manera

Código MySQL:
Ver original
  1. SELECT L.cod_pais, IF(ISNULL(P.titulo), '', P.titulo) AS titulo
  2. FROM lang L LEFT JOIN posts P ON P.id_lang = L.id
  3. AND P.group_post = 1
  4. WHERE L.id NOT IN (SELECT 1 FROM lang);

espero sea lo mejor :D

Última edición por stevens82; 30/08/2018 a las 19:05

Etiquetas: join, tabla, tablas
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 08:33.