我需要使用精确值过滤表格。 我现在用Google搜索了近一天,我想知道你们是否可以帮助我
我有一张这样的表:
ID | group ID | tax Id
-------------------------
1 | 1 | 1
2 | 2 | 1
3 | 2 | 2
4 | 3 | 2
5 | 3 | 3
6 | 3 | 4
7 | 4 | 1
8 | 4 | 4
9 | 5 | 2
10 | 5 | 4
11 | 6 | 3
12 | 6 | 4
我只需要在税ids正好是2,3和4时获得群组ID,即群组ID 3 如果我把WHERE TAX_ID放入(2,3,4),我会将这些税组改为3,5,6 我想要的只是税务组3 我希望这不是一个重复的问题,因为我在谷歌时找不到它。
答案 0 :(得分:2)
你需要在group_id列和group by
子句中使用having
子句来计算不同的tax_id,使其等于3,其中tax id为2或3或4
不存在将处理组中应该只包含给定集合的条件,如果元素而不是任何其他元素
<强> SQL Fiddle 强>
SELECT [group_ID]
FROM Table1 T
WHERE [tax_Id] in (2,3,4)
And not exists
( select 1 from Table1 E
Where T.group_id = E.group_id
And tax_id not in (2,3,4)
)
Group by group_id
Having count(distinct tax_id) =3