Kla*_*ark 1 sql t-sql sql-server
我有一张桌子:
bid | data
1 | a
1 | b
1 | c
2 | a
3 | c
3 | a
Run Code Online (Sandbox Code Playgroud)
我想选择包含给定数据集的所有出价.
例如,"包含"数据"a"和"b"(结果应为出价1)的所有出价,或包含"a"和"c"(1和3)的出价.
只有我能想到的解决方案有点讨厌,所以我很感激一些帮助/建议.
我的第一次尝试:
select bid from my_table as t1 where
exists (select * from my_table t2 where
t2.bid = t1.bid and
t2.data='a'
)
and
exists (select * from my_table t2 where
t2.bid = t1.bid and
t2.data='b'
)
group by bid;
Run Code Online (Sandbox Code Playgroud)
谢谢.
select t1.bid
from table_1 t1
inner join table_1 t2 on t1.bid = t2.bid
where t1.data = 'a' and t2.data = 'c'
Run Code Online (Sandbox Code Playgroud)
顺便说说:
所有"包含"数据"a"和"b"的出价(结果应为出价1)
- > bid 2还包含数据'a'和'b'