我有一個(gè) A|B|C 形式的表,其中 (A,B)中的元組 (a,b ) 是主鍵。我有 B 的值 (BVAL) 列表,并且需要 A 列中的元素,其中存在 BVAL中b' 的類型 (a,b') 的每個(gè)值的行條目。目前,我已經(jīng)實(shí)現(xiàn)了一個(gè)腳本,該腳本檢索 BVAL 的第一個(gè)元素的第一個(gè)所有 (a,b''),然后迭代并細(xì)化列表,直到 BVAL 的最后一個(gè)元素。我相信在大型數(shù)據(jù)庫中它會(huì)很慢,并且相信存在更快的解決方案。將不勝感激任何幫助。假設(shè)我們有下表:+---+---+| A | B |+---+---+| 1 | 1 || 1 | 2 || 1 | 3 || 1 | 4 || 2 | 1 || 2 | 2 || 3 | 1 |+---+---+如果 BVAL 列表由 (1,2) 組成,則查詢應(yīng)返回 1 和 2
2 回答

臨摹微笑
TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
我理解您想要a具有所有b值的 s 。如果是這樣,您可以使用group byand having:
select a
from mytable
where b in (1, 2) -- either value
group by a
having count(*) = 2 -- both match

慕少森
TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
這是你想要的嗎?
select distinct a
from t
where b in ( . . . ); -- list of b values here
添加回答
舉報(bào)
0/150
提交
取消