2010-08-02 60 views
1

我有兩個類似結構的MySQL表。即我可以使用MySQL來做到這一點,還是需要讓PHP參與?

Table_A - Col1, Col2, Col3, Col4, Col5 

Table_B - Col1, Col2, Col3 

我需要運行一個查詢,說是這樣的:

SELECT * FROM Table_A WHERE (Table_A.Col1 DOES NOT EXISTS in Table_B.Col3 AND Table_B.Col2 = 'A') AND Table_A.Col5 = 2 etc... 

所以基本上我需要選擇從A一切,是不是在B,其中B具有額外的條件。

希望下面的例子將幫助:

表-A例如行

1, 5, 'Orange', 'Elephant', 1 
2, 3, 'Red', 'Horse', 2 
3, 4, 'Blue', 'Rhino', 2 
4, 4, 'Pink', 'Cat', 2 
5, 2, 'Purple', 'Dog', 2 

表-B例如行

1, 'A', 3 
2, 'A', 2 
3, 'B', 2 
4, 'C', 3 

返回的數據我需要的是 - 我查詢所有行表A(不在表B和表BB.Col2 ='A'中)AND Table_A.col5 = 2

4, 4, 'Pink', 'Cat', 2 
5, 2, 'Purple', 'Dog', 2 

任何想法? 謝謝!

+0

「左連接」應該完成這項工作。 – jantimon 2010-08-02 07:43:31

回答

0
SELECT A.* FROM table_A AS A 
LEFT JOIN Table_B AS B ON A.Col1 = B.Col3 
WHERE B.Col3 IS NULL AND B.Col2 = 'A' AND ... 
相關問題