2013-05-05 41 views
0

我有三個表A(主),B(主)和C(事務)。 A.id和B.id的組合存在於C中。 我想要表A中A.id和B.id的組合不存在的A的數據。MySQL兩個獨立的表,其連接不存在於第三個表

我嘗試了以下,但沒有得到選擇行。從A,B,C

SELECT * A.其中A.id!= C.id和B.id!= C.id

我不是善於創造查詢。

有人可以爲此形成一個查詢嗎?

+0

您可以加入你試過嗎?這可能會讓人們更願意提供幫助。 – 11684 2013-05-05 13:46:02

+0

編輯問題 – 2013-05-05 13:48:38

+1

您可以添加表格定義嗎? – 2013-05-05 13:51:14

回答

0
SELECT * 
FROM A 
WHERE A.id NOT IN (
    SELECT Aid FROM C) 

你的問題是有點奇怪的是,這個查詢選擇A的所有ID用其不在表C.

+0

所以,我不需要使用表B? – 2013-05-05 13:51:16

+0

我假設你在表C中有2列,一個是A的ID,另一個是B的ID。所以如果表C中沒有出現A的Id,那麼它顯然沒有連接到ID的B – 2013-05-05 13:52:40

+0

是的。你是對的。我想我自己很困惑。 – 2013-05-05 14:03:34

0
SELECT A.*, B.* 
FROM A , B 
WHERE A.id = B.id AND A.id NOT IN (SELECT Aid FROM C) AND B.id NOT IN (SELECT Bid FROM C) 
+0

我認爲你不瞭解這個問題。只需要A的數據。因此,表B在您的查詢中不需要 – 2013-05-05 13:59:25

0

SELECT * FROM A,C LEFT JOIN B第B .ID = A.id LEFT JOIN B開B.id = C.id WHERE A.id = C.id和B.id IS NULL

+0

格式正確。注意將其添加爲代碼並添加幾個字? – 2015-07-11 14:24:26

相關問題