我有以下SELECT ...SQL:即使SELECT CASE沒有被觸發,如何獲得一行?
SELECT CASE WHEN cola < 0 THEN '-'
WHEN cola > 0 THEN '+'
ELSE '='
END
SUM(colb), SUM(colc), SUM(cold),
MAX(CASE WHEN cola < 0 THEN 1
WHEN cola > 0 THEN 3
ELSE 2
) AS Sort
FROM Table1
WHERE this = that
GROUP BY CASE WHEN cola < 0 THEN '-'
WHEN cola > 0 THEN '+'
ELSE '=' END
ORDER BY cold
這就是我得到:
cola colb colc cold
- 1 2 1
+ 13 0 3
這是我想什麼:
cola colb colc cold
- 1 2 1
= 0 0 2
+ 13 0 3
當我得到結果集時,我有'+'和' - '行,但沒有'='行,因爲沒有任何'0'值觸發ELSE。我如何設置它,以便如果是這種情況,那麼它在我的SELECT語句中仍然會有'='行?
謝謝! *如果需要更多的選擇,請讓我知道。
您需要提供一些更多的SQL語句。目前尚不清楚您是否需要外部連接或其他內容。 –
聽起來好像你想讓0表示,儘管那個值不在'可樂'列中。它是否正確?您可以在結果集之前和之後包含示例嗎? –