2013-01-09 102 views
0

用戶表:如何從3個表中檢索mysql數據庫中的值?

userID | name 
1  | John 
2  | Mary 
3  | Jack 

項目表(用戶將選擇和存儲到MySQL

itemID | name | item 
1  | Mary | pants, jeans 
1  | John | jacket, shirt 
1  | Jack | jacket, shirt 

描述表(檢索基於哪些用戶的說明選擇項目)

descID | item   | descOne | descTwo 
1  | jacket, shirt | Nice! | Great 
1  | pants, jeans | good | Nice  
1  | dress, jeans | Nice! | Great 

如果我想檢索Mary的值,我應該選擇什麼sql語句?

目前我有這個 - >

SELECT 
    d.item, 
    d.descOne, 
    d.descTwo, 
    i.name , d.item 
FROM description d 
INNER JOIN items i 
WHERE d.item = i.item ON; 
+0

如果定義外鍵,而不是項目和用戶名的外鍵 –

回答

2
SELECT 
    u.name, 
    d.descOne, 
    d.descTwo, 
    d.item 
FROM users as u 
LEFT JOIN items as i ON i.name = u.name 
LEFT JOIN description as d ON d.item = i.item 
WHERE u.name = 'Mary' 
+0

但我不能硬編碼「瑪麗」那裏將是一件好事。必須檢索基於已登錄例如fb的用戶。 – screamout

+0

我知道你不能硬編碼,但你可以提供變量持有登錄用戶名,你可以通過這個查詢運行 –

+0

謝謝你的幫助!它運作良好。 – screamout

相關問題