MySQL - Consulta a dos tablas y resultados en una

   
Vista:

Consulta a dos tablas y resultados en una

Publicado por Antonio (4 intervenciones) el 22/07/2017 23:48:02
Buenas a todos,
antes de nada gracias por la posible ayuda que pueda recibir en este foro, de entrada decirles que no manejo mucho MySQL y estoy tratando de hacer una consulta a la base de datos en la que hay dos tablas, en una unos datos y en otra otros que quiero fundir en una consulta resumen para poder llamar a los campos desde un HTML.
La primera tabla se llama wp_posts y quiero extractar sólo los tres últimos registros con los siguientes campos ID, post_content, post_title y post_status y de la segunda tabla wp_postmeta los campos meta_key y meta_value.
La consulta debe de dar un resumen de los siguientes campos (sin duplicados) ID, post_content, post_title, post_status, meta_key y meta_value.
Estos campos lo llamaré mediante HTML para visualizar los tres últimos registros de la tabla.
Desde mi ignorancia he intentado lo siguiente:

SELECT * FROM `wp_posts` where post_type like 'post' (dándome resultado correcto)
SELECT * FROM `wp_postmeta` WHERE meta_value LIKE '%jpg' (dándome resultado correcto)

el problema viene que no sé cómo concatenar en una misma consulta estas dos anteriores para poder llamar desde mi HTML a los campos en el Array y mostrarlos.

Espero haberme explicado, y de antemano mis más sinceras gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Consulta a dos tablas y resultados en una

Publicado por Nicolas (40 intervenciones) el 23/07/2017 02:00:08
Hola Antonio.
Prueba a utilizar los JOIN. Te permite unir tablas en las consultas.
Por ejemplo:

SELECT * FROM `wp_posts` INNER JOIN ws_postmeta ON ws_post.atributocomun= wp_postmeta.atributocomun where wp_posts.post_type like 'post' AND ws_postmeta.meta_value LIKE '%jpg'

PD: lo escribí desde el móvil y no lo probé. Quizás me falta o falle algo.
Espero que te sea útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta a dos tablas y resultados en una

Publicado por Antonio (4 intervenciones) el 23/07/2017 09:42:16
He corregido algunos caracteres de la consulta que me has puesto pero me devuelve un conjunto vacío.

SELECT * FROM `wp_posts` INNER JOIN `wp_postmeta` ON wp_posts.ID= wp_postmeta.post_id where wp_posts.post_type like 'post' AND wp_postmeta.meta_value LIKE '%jpg'

Agradezco tu respuesta pero tendré que seguir buscando la forma de extraer en la misma consulta los datos de la tabla wp_posts y un solo campo de la tabla wp_postmeta para posteriomente consultarlos a través del HTML.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta a dos tablas y resultados en una

Publicado por Nicolas (40 intervenciones) el 23/07/2017 13:57:00
Antonio, si hay una relación con los id en ambas tablas que coinciden y además la condición del Where debería devolver algún registro.
Probaste hacerlo desde la consola de MySQL?? Si tienes algo más de información podría ayudarte.
Abrazo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta a dos tablas y resultados en una

Publicado por Antonio (4 intervenciones) el 24/07/2017 07:34:04
Dime que información necesitas para analizarlo.
Mil gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta a dos tablas y resultados en una

Publicado por Nicolas (40 intervenciones) el 24/07/2017 23:10:01
Antonio, probaste desde MySQL si funciona esa consulta??
Quizás es la aplicación que no muestra nada.
Que campos tienen las tablas??yunos datos que tengas para probar la consulta.
Cuál sería el resultado según esos datos??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta a dos tablas y resultados en una

Publicado por Antonio (4 intervenciones) el 25/07/2017 09:38:01
Buenas Nicolas.
Ante todo darte las gracias por seguir intentado ayudarme.
Mira he realizado este query en MySQL
SELECT * FROM `wp_postmeta`INNER JOIN `wp_posts`WHERE wp_posts.post_status LIKE 'publish' AND wp_postmeta.meta_key LIKE '_wp_attached_file' GROUP BY wp_posts.post_title
Y devuelve lo siguiente ( ver fichero adjunto ).
Lo que quiero conseguir es que me extraiga el titulo, texto e imagen de los tres últimos post, con este query consigo obtener el titulo y texto de los últimos post, pero la imagen me repite la del primer post....
De nuevo gracias por tu empeño en ayudarme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar