2014-11-08 37 views
1

我想從兩個不同的表中獲取兩個不同的collumn值。首先,我想從消息表中獲取消息和userid,然後使用message_from獲取該用戶的詳細信息從用戶表,並同時顯示消息和用戶details.How做到這一點從單個查詢這是我嘗試如何使用單個查詢從兩個表中獲取結果

$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']; 
} 
+2

這被稱爲「連接」,是SQL和關係數據庫中的一個基本概念。 – 2014-11-08 03:47:48

+0

我使用加入,但沒有任何作品可以請你告訴我怎麼做,我使用innerjoin – user2749039 2014-11-08 03:55:08

+0

編輯你的問題,並提供樣本數據。你也可以嘗試設置一個SQL小提琴。 – 2014-11-08 04:00:04

回答

0

使用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' 
0

如果列「user_no」也是在表的信息,你可以這樣做:

select user name from user where user_no in(select user_no from message where message_to ='$ userno')

+0

沒有user_no不在message_table中,但它位於user_table上,我從messages表中獲取message_from,並使用該id從用戶表中獲取用戶詳細信息 – user2749039 2014-11-08 04:02:49

相關問題