SQL 查询函数和联接数据库


SQL Query function and joining databases

我想从一个mySQL表中获取所有相应的图像,这些图像与另一个表的ID具有相应的post_ID。

因此,当表 wp_post 中的 ID 为 7 时,我想在另一个具有特定meta_key和相应 ID 的表中回显信息值。

===WP_POST===========       ===WP_POSTMETA======================================
ID     ||     content       post_id     ||     meta_key     ||     meta_value
================================================================================

我想要的meta_key在数据库中列为_wp_attached_file

因此,我想获取wp_postmeta表的所有meta_values,这些表的meta_key_wp_attached_file,并且post_id与从表wp_posts查看的页面的当前ID匹配。

所以显然桌子需要连接,但我需要帮忙。

任何想法,

奇妙的啊哈

在下面实施了解决方案,我现在收到错误。

<?php
$pics = mysql_query("SELECT t2.meta_key,t2.meta_value from (select id from wp_post) t1
join wp_postmeta t2 on (t2.post_id=t1.postid)
where t2.meta_key='_wp_attached_file'");
while ($row = mysql_fetch_array($pics)) {
    $thumb = $row['meta_value'];
    echo '<img src="http://www.golfbrowser.com/wp-content/uploads/'.$thumb.'" />';
}
?>

有什么想法吗?

我自己尝试了一种更简单的方法。仍然不起作用。谁能看出出了什么问题。

<?php
$post_id = $post->ID;
$pics = mysql_query("
        SELECT meta_value * FROM wp_postdata 
        WHERE meta_key ='_wp_attached_file'
        AND post_id = '%$post_id%'
");
while ($row = mysql_fetch_array($pics)) {
    $thumb = $row['meta_value'];
    echo '<img src="http://www.golfbrowser.com/wp-content/uploads/'.$thumb.'" />';
}
?>

尝试以下查询:

SELECT A.meta_key
FROM WP_POSTMETA AS A
    JOIN WP_POST AS B
        ON (A.post_id = B.ID)
WHERE A.post_id='%post_id%' ;