2013-08-05 138 views
0

我一直在努力尋找解決方案,以下情況。 我有4個表mysql多表選擇條件

Table 1 
product_id|product_name 

Table 2 
Review_id|listing_name|rating|content|product_id|user_id 

Table3 
user_id|user_name| 

Table 4 
user_id|rank| 

PRODUCT_ID整個表1和表2 USER_ID具有相同的值在整個表2,3,4

我需要幫助得到以下語句轉換成一個陣列相同的值

SELECT review_id, rating, content, user_name, rank FROM T2, T3, T4 WHERE    product_id=$pid and WHERE T3.user_id = T2.user_id 

我的陣列應該是這樣的:

$arr[review_id] = $row[review_id] 
$arr[rating] = $row[rating] 
$arr[content] = $row[content] 
$arr[user_name] = $row[user_name] 
$arr[rank] = $row[rank] 

所有幫助將大大appriciated

回答

1
SELECT T2.review_id, T2.rating, T2.content, T3.user_name, T4.tank 
    FROM T2 
    INNER JOIN T3 
     ON T2.user_id = T3.user_id 
    INNER JOIN T4 
     ON T2.user_id = T4.user_id 
    WHERE T2.product_id = $pid 
+0

PS:我希望你的表沒有實際上被稱爲T1,T2等:) 您可以使用表的別名在查詢中如果表名稱很長,但理想你的表名應該描述表中包含的內容。 –

+0

到目前爲止工作很好。我的表r不是以t1234命名的 – user2510952