首页 > 解决方案 > MS SQL 查询以获取在某些列值没有条目的表中多次出现的所有条目

问题描述

我只是试图尽可能地制定标题。所以我的情况如下。

我有一张桌子

venue_id | style_id | is_main
1        | 1        | 1
1        | 2        | 0
1        | 3        | 0
2        | 5        | 0
2        | 8        | 0
2        | 9        | 0
3        | 3        | 1
4        | 4        | 1
4        | 6        | 0
5        | 7        | 0
5        | 8        | 0
5        | 9        | 0

所以我只需要获得那些场地 ID,女巫不止一次来,哪里没有 is_main 真正的条目。

所以结果应该包含venue_id's: 2 and 5

对于此类查询的外观,我将不胜感激。

提前致谢。

UPD:在我使用 is_amin BIT 值的情况下,答案是:

select venue_id
from table
group by venue_id
having cast(max(cast(is_main as INT)) AS BIT) = 0 and
count(*) >= 2;

标签: sqlsql-server

解决方案


你似乎想要:

select venue_id
from t
group by venue_id
having max(is_main) = 0 and
       count(*) >= 2;

推荐阅读