我正在嘗試編寫一個子查詢來計算'TRACE_NO'的數量,如果只有一個實例我希望它顯示原始字符串。但是,如果它有多個'TRACE_NO'實例,我希望該行顯示'Duplicate'。我究竟做錯了什麼?返回基於行實例的查詢的SQL case語句
SELECT
SL.FILE_NO AS FILE,
(SELECT CASE(WHEN TR.TRACE_NO HAVING COUNT(*) >1 THEN 'DUPLICATE' ELSE
TR.TRACE_NO)
FROM IASDB.TRACE_DETAIL TR
WHERE SL.INVOICE_NO = TR.INVOICE_NO
AND TR.TRACE_TYPE IN 'XX') AS XX
表
FILE XX
1120 | SEA
1315 | SDF
1251 | SEA
1251 | GEG
1991 | ATL
1235 | BOI
1235 | CVG
所需的輸出:
FILE | XX
1120 | SEA
1315 | SDF
1251 | DUPLICATE
1991 | ATL
1235 | DUPLICATE
你的外部查詢沒有'FROM'子句,'SL'未定義。 –
這是定義SL的較大查詢的一部分。這只是一個片段。謝謝 –