如何使用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