SQL选择基于两个变量,不包括其他变量

时间:2014-06-27 18:28:36

标签: sql database select nested-queries

我正在查看一张看着三个区域的桌子; unit_id,group_id和service。

每个unit_id都是唯一的,并且只有一个group_id和与之关联的服务。

我想返回group_id和service,其中具有该group_id的所有单元具有相同的服务。例如,如果我有:

unit_id    group_id    service
1          group_A     apple
2          group_B     orange
3          group_B     apple
4          group_A     apple
5          group_C     banana

我希望它返回group_A和group_C,因为这些group_ids中的所有服务都是相同的,而group_B同时包含orange和apple。

如何编写完成该查询的SQL查询?

非常感谢。

1 个答案:

答案 0 :(得分:1)

select * from your_table
where group_id in
(
  select group_id
  from your_table
  group by group_id
  having count(distinct service) = 1
)