[英]SQL case when with the count result
我需要有關如何獲得結果、打印、部分且尚未開始的幫助。 我不知道如何根據參考獲得結果。
SELECT
REQUESTNO AS [REFERENCE NO.],
STATUS,
(SELECT CASE
WHEN REQUESTNO > EMP_LABEL_REPRINT_STATUS AND EMP_LABEL_REPRINT_STATUS != 0 THEN 'PARTIALLY PRINTED'
WHEN REQUESTNO > EMP_LABEL_REPRINT_STATUS AND EMP_LABEL_REPRINT_STATUS = 0 THEN 'NOT YET STARTED'
WHEN REQUESTNO = EMP_LABEL_REPRINT_STATUS OR EMP_LABEL_REPRINT_STATUS = REQUESTNO THEN 'PRINTED'
ELSE 'PRINTED'
END As [REPRINT STATUS]
FROM(
SELECT
COUNT(REQUESTNO) AS REQUESTNO,
(SELECT COUNT (LABEL_REPRINT_STATUS) AS LABEL_REPRINT_STATUS FROM Processing.tLabel_reprintRequestLog
WHERE LABEL_REPRINT_STATUS = 'PRINTED') AS EMP_LABEL_REPRINT_STATUS
FROM Processing.tLabel_reprintRequestLog
) A
) AS [LABEL REPRINT STATUS]
FROM Processing.tLabel_reprintRequestLog
WHERE STATUS In ('NEW', 'DISAPPROVED')
GROUP by REQUESTNO, STATUS
ORDER BY [REFERENCE NO.]
當條件由多個組成時,條件可能需要括號。 基本上在你的例子中它應該是 go 這樣的:
SELECT CASE WHEN (REQUESTNO > EMP_LABEL_REPRINT_STATUS AND EMP_LABEL_REPRINT_STATUS != 0) THEN 'PARTIALLY PRINTED'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.