2013-08-28 106 views

回答

0

如果你正在尋找對於特定的代碼,那麼你可以使用WHERE子句過濾用HAVING和GROUP BY:

select invoice 
from yourtable 
where m_code in ('J', 'T') 
group by invoice 
having count(distinct m_code) > 1; 

但是,如果你想返回,並與任何兩張發票重複m_codes那麼你可以使用:

select invoice 
from yourtable 
group by invoice 
having count(distinct m_code) > 1; 

同時看到的SQL Fiddle with Demo查詢

+0

重複應在發票號碼上。 – Mstwan

0
Select invoice_numbers,COUNT(DISTINCT m_code) as CNT 
FROM TABLE where m_code in('J','T') 
GROUP BY invoice_numbers 
HAVING CNT >1; 

FIDDLE

+0

謝謝輸入(你們倆)我使用了下面的腳本,並返回了2列,這是預期的,但在那裏,列中沒有數據:從lu_frgt_inv_accessorial 中選擇frgt_inv_nbr_s,accessorial_cd ) group by lu_frgt_inv_accessorial.frgt_inv_nbr_s ,lu_frgt_inv_accessorial.accessorial_cd having count(distinct frgt_inv_nbr_s)> = 1;從這段代碼我得到2個空白列FRGT_INV_NBR_S和ACCESSORIAL_CODE。我希望出現的數據應該是2125年的發票,附件_CD = CN invoice nber 2125,accessorial_CD = FR。我錯過了什麼? – Mstwan