2017-02-08 56 views
-1

我知道,這個問題標題沒有吸引力,但用一句話解釋就非常棘手,所以這裏是我在我的2個表中。檢索某個特定列值的聯合表中沒有ID的值

Table 1 

ID other_id 
1  1 
2  1 
3  2 

Table 2 
ID parent_id attribute_id value 
54 1   125    jiazdjdaz 
55 1   367    5 
58 2   125    zdvgbdajz 
59 2   367    4 
71 3   125    hagvbadd 

t2.parent_id等於t1.ID

我希望能夠找回 「other_id」 2,因爲它在表T2沒有值,屬性367

如何我可以輕鬆做到嗎?

+0

你可以很容易地嘗試一些東西。我們可以很容易對此發表評論。 – Strawberry

+0

我忘了人們是如何輕鬆地嘲笑SO。如果我知道如何去做或者在網上尋找什麼,你認爲我會在這裏問問題嗎? –

+0

您能否詳細說明一下。 「我希望能夠檢索」other_id「2,因爲它在表T2中對於屬性367沒有值。」聽起來有點混亂。 –

回答

2

你想要什麼被稱爲存在量化,一個存在的測試。在SQL中,使用EXISTS

select other_id from T1 
where not exists ( 
    select 1 from T2 
    where T1.ID = T2.parent_id 
    and attribute_id = 367 
) 

有多種方法可以做到這一點。您還會在Web上看到使用外連接的解決方案,在內表上測試NULL。你會發現像這樣的相關子查詢是緩慢的指控,這取決於數據庫管理系統。希望這至少能給你一個出發點。

+0

我以前從來沒有見過「哪裏不存在」。感謝您的洞察力,這正是我需要的。現在我可以建立一個適當的查詢。 –

相關問題