我知道問題在于最后執行SELECT。當CASE執行,列X還不存在。列 X 及其值出現在列 a 和 b 值的減法中 => ROUND ((ab)),2) AS [X] 您可以在下面的完整代碼中注意到它: 基本上問題如下:我如何制作X 列與其值一起出現在CASE之前。
SELECT
e, a, b,ROUND((a-b)),2) AS [X],
CASE WHEN X BETWEEN 5 AND 10 THEN 'Good Choice'
ELSE 'bad choice' END AS 'choice'
FROM table_1
LEFT JOIN table_2 ON table_1.column_1 = table_2.column_2
Where BBB = "VVV" OR BBB = "CCC"
GROUP BY column_1;
uj5u.com熱心網友回復:
您不能X在定義它的同一個選擇中參考別名。在這種情況下只需重復圓形運算式:
SELECT e, a, b, ROUND(a - b, 2) AS X,
CASE WHEN ROUND(a - b, 2) BETWEEN 5 AND 10
THEN 'Good Choice' ELSE 'bad choice' END AS choice
FROM table1 t1
LEFT JOIN table2 t2 ON t1.column1 = t2.column2
WHERE BBB = 'VVV' OR BBB = 'CCC'
GROUP BY column1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/368722.html
