1

我正在尝试编写一个查询表 Z_INSUR 的查询。我想查找相同 EMP 具有超过 1 行且 INSUR_TYPE 为 M 的所有实例。我想查看执行此操作的所有 EMP,这就是我将 UNIQUE 部分添加到查询中的原因。以下是我到目前为止尝试过的,但它不起作用。有人可以帮我弄这个吗?我正在使用甲骨文

select UNIQUE(EMP) from Z_INSUR where COUNT(INSUR_TYPE = 'M') > 1;
4

3 回答 3

3

由于您没有指定,我将假设您使用的是 SQL Server。

select emp from z_insur where insur_type = 'm' group by emp having count(emp) > 1

于 2013-09-16T14:53:16.943 回答
3
SELECT EMP 
FROM Z_INSUR 
WHERE INSUR_TYPE = 'M'
GROUP BY EMP 
HAVING count(*) > 1;
于 2013-09-16T14:53:38.100 回答
1

我假设您希望每个 EMP 在同一个表中具有多行但不一定不止一个具有INSUR_TYPE = 'M'.

如果您想查看具有多行INSUR_TYPE = 'M'的 EMP,最好使用 Fabien 的解决方案。如果不是,他是错的,请考虑一下。

SELECT EMP 
FROM Z_INSUR 
GROUP BY EMP 
HAVING SUM(CASE WHEN INSUR_TYPE = 'M' THEN 1 ELSE 0 END) > 1;
于 2013-09-16T14:51:00.630 回答