2013-10-18 66 views
0

我有3個不同的sql表我需要加入。加入與多個查詢的MySQL

  1. 表 「互聯網」 與列id|type|status
  2. 表 「TYPE_LIST」 的列id|type_name
  3. 表 「status_list」 的列id|status_name

我想從兩個其它表輸出文本( type_list,status_list)但不會將數值視爲當前我在表格「internet」中的數字

我也不想讓懶惰編程 - PHP數組,使ID的等於像

$type_list = array("1"=>"VDSL2","2"=>"ADSL"); 
$status_list = array("1"=>"Pending","2"=>"Active"); 

因爲文本已經在表中,我只是不知道如何加入他們的行列,並輸出文本作爲查詢在一個查詢中組合在一起。

回答

0

使用JOIN

SELECT i.id, type_name, status_name 
FROM internet i 
LEFT OUTER JOIN type_list t ON t.id = i.type 
LEFT OUTER JOIN status_list s ON s.id= i.status 

閱讀MySQL doc更多信息。

0

只需將選擇與您想要的字段一起寫入即可。

select internet.id,type_name,status_name from internet 
inner join type_list 
on type_list.id=internet.id 
inner join status_list 
on status_list.id=internet.id 
0

爲此,您需要一個LEFT JOIN,像這樣:

SELECT i.id, t.type_name, s.status_name 
FROM internet AS i 
LEFT JOIN type_list AS t ON t.id = i.id 
LEFT JOIN status_list AS s ON s.id= i.id 

從你的問題,目前還不清楚,你想加入查詢哪些領域。在上面的例子中,查詢加入了id字段。

也請注意,AS實際上不是必要的,我剛纔把它放在那裏要清楚是怎麼回事