2011-07-31 35 views
1

有沒有一種方法,我可以以某種方式執行以下操作?PHP MySQL加入

表ONE

id c_id type 
------------------- 
1 1  7 
2 2  7 
3 3  5 
4 4  7 

表TWO

id title live 
------------------- 
1 row1 1 
2 row2 0 
3 row3 0 
4 row4 1 

的C_ID柱從表一項所述的數據鏈接到表TWO。例如:在表1中,如果c_id是2,則表1中的那一行將直接鏈接到表2的具有標題「row2」的id 2的行。

我想從表中選擇一個,與7型萬能的,但只有在表中的兩及其關聯數據有現場設置爲1

以下是我以爲我會做到這一點,但是這並未」不像是會工作:

SELECT * FROM ONE, TWO WHERE ONE.type='7' AND TWO.live='1' ORDER BY ONE.id DESC LIMIT 5 

我希望以上從表ONE只返回行1和4,因爲雖然表中的一個有三行,類型爲「7」,只有行1和表2中的相關行TWO已設置爲1.

+0

它實際上會返回什麼?你錯過了'JOIN'謂詞。 –

回答

0

您近距離...嘗試使用隱式連接:

SELECT ONE.* FROM ONE, TWO WHERE ONE.type='7' AND TWO.live='1' AND ONE.c_id = TWO.id ORDER BY ONE.id DESC LIMIT 5 
+0

謝謝!我認爲這是有效的。我只需要將「SELECT ONE。* FROM ONE」更改爲「SELECT * FROM ONE」,因爲我想從兩個表中返回所有數據。雖然我的問題可能沒有說清楚。再次感謝 :) – Jack

0
select * from one join two on c_id = two.id where type=7 and live = 1 
order by one.id desc limit 5