我想寫一個查詢查詢表Z_INSUR。我想查找其中INSUR_TYPE爲M的同一EMP具有多於一行的所有實例。我想查看所有執行此操作的EMP,這就是爲什麼我將UNIQUE部分添加到查詢中的原因。以下是我到目前爲止所嘗試的,但它不起作用。有人可以幫我弄這個嗎?我使用的是Oracle查詢字段與多行SQL查詢
select UNIQUE(EMP) from Z_INSUR where COUNT(INSUR_TYPE = 'M') > 1;
我想寫一個查詢查詢表Z_INSUR。我想查找其中INSUR_TYPE爲M的同一EMP具有多於一行的所有實例。我想查看所有執行此操作的EMP,這就是爲什麼我將UNIQUE部分添加到查詢中的原因。以下是我到目前爲止所嘗試的,但它不起作用。有人可以幫我弄這個嗎?我使用的是Oracle查詢字段與多行SQL查詢
select UNIQUE(EMP) from Z_INSUR where COUNT(INSUR_TYPE = 'M') > 1;
SELECT EMP
FROM Z_INSUR
WHERE INSUR_TYPE = 'M'
GROUP BY EMP
HAVING count(*) > 1;
工作,謝謝! –
我假設你想在同一個表有多個行,但不一定超過一個有INSUR_TYPE = 'M'
一行中的每個EMP。
如果您想查看具有多個行的EMP,其中INSUR_TYPE = 'M'
爲true,最好使用Fabien的解決方案。如果不是,他錯了,請考慮一下。
SELECT EMP
FROM Z_INSUR
GROUP BY EMP
HAVING SUM(CASE WHEN INSUR_TYPE = 'M' THEN 1 ELSE 0 END) > 1;
由於您沒有指定,我將假定您正在使用SQL Server。
select emp from z_insur where insur_type = 'm' group by emp having count(emp) > 1
'unique'(或'distinct')是*** *** NOT的函數。編寫'select unique(emp)'與編寫'select(emp)'相似 - paranthesises不起任何作用。 –
@JoeEngle你的問題還不夠清楚,請在我的回答中考慮我的假設。 (寫這個,因爲你已經感謝Fabien了。在某些假設下,他的回答可能是錯誤的。) – fancyPants