如何使用case語句根據列中的值命名列。我有一個會員可以註冊白金,金,銀和銅牌會員。數據存儲在名爲CUST_MBR_INFO的表中。我希望能夠通過成員資格類型和CUST_ID關聯客戶。是否可以在組合的單個查詢中顯示如下信息?我的查詢工作獲取單個標籤,但我真的想要使用單個查詢。所有的標籤都應該可以在CUST_ID落在正確的標題下打印在表格中。Oracle SQL根據條件值選擇列別名
PLATINUM_CUSTOMER GOLD_CUSTOMER SILVER_CUSTOMER BRONZE_CUSTOMER
1222 - - -
- 3122 - -
成員類型爲2列
--CUST_ID 1222
--PLATINUM_CUSTOMER
SELECT CUST_ID,PROD_CODE AS PLATINUM_CUSTOMER FROM CUST_MBR_INFO
WHERE PROD_CATG_VAL = 'PLATINUM'
AND M_TYP_CDE = '1'
--CUST_ID 3122
--GOLD
SELECT CUST_ID,PROD_CODE AS GOLD_CUSTOMER FROM CUST_MBR_INFO
WHERE PROD_CATG_VAL = 'GOLD'
AND M_TYP_CDE = '2'
--CUST_ID 3422
--SILVER
SELECT CUST_ID,PROD_CODE AS SILVER_CUSTOMER FROM CUST_MBR_INFO
WHERE PROD_CATG_VAL = 'SILVER'
AND M_TYP_CDE = '3'
--CUST_ID 94344
--BRONZE_CUSTOMER
SELECT CUST_ID,PROD_CODE AS BRONZE_CUSTOMER FROM CUST_MBR_INFO
WHERE PROD_CATG_VAL = 'BRONZE'
AND M_TYP_CDE = '4
你不能。別名必須是硬編碼的(除非使用動態SQL,這與SQL非常不同 - 即使名稱中包含「SQL」),並且強烈建議不要使用它。 – mathguy