簡體   English   中英

SQL case when with 計數結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM