簡體   English   中英

如何僅在 order by 子句中使用計算列(條件時的情況)?

[英]How to use computed column (case when condition) only in order by clause?

我是 SQL 的新手,在實踐中我遇到了這個問題。 我正確地解決了它,但有一個問題。 有沒有辦法讓 output 不顯示計算列“RegionTrue”? 我只想看看其他 3 列。 TIA

SELECT 
    CustomerID,
    CompanyName,
    Region, 
    RegionTrue = 

        CASE
            WHEN Region IS NULL
                THEN 1
                ELSE 0
        END
FROM Customers
   ORDER BY
    RegionTrue,
    Region,
    CompanyName

如果我理解正確,您想使用(CASE WHEN Region IS NULL THEN 1 ELSE 0 END)作為按條件排序,但不想在 select 列表中顯示。

您可以僅在 order by 子句中簡單地使用 regionTrue 條件,如下所示。

SELECT CustomerID, CompanyName, Region    
FROM Customers ORDER BY (CASE
        WHEN Region IS NULL
            THEN 1
            ELSE 0
    END), Region, CompanyName

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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