我想从两个不同的表中获取两个不同的列值。首先我想从消息表中获取消息和用户标识,然后使用message_from从用户表中获取该用户的详细信息并同时显示消息和用户详细信息。从一个查询做到这一点这是我的尝试

$select_my_message = mysql_query("select firstname from user where user_no = (select message_from, message_body from messages where message_to = '$userno')");
while ($row = mysql_fetch_array($select_my_message))
{
    echo $row['message_from'];
    echo $row['message_body'];
    echo $row['firstname'];
}

最佳答案

使用INNER JOIN可以得到结果。

SELECT a.firstname,
       b.message_from,
       b.message_body
FROM   USER a
       JOIN messages b
         ON a.user_no = b.message_to
WHERE  b.message_to = '$userno'

关于mysql - 如何使用单个查询从两个表中获取结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26813488/

10-15 09:52