首页 > 解决方案 > 如何将 case 语句转换为表格?

问题描述

SELECT 
    CASE WHEN EV878_ADDRESS_L1 = '' THEN NULL ELSE EV878_ADDRESS_L1 END AS [Street]
    ,NULL AS [HouseNumber]
    ,CASE WHEN EV878_ADDRESS_L2 = '' THEN NULL ELSE EV878_ADDRESS_L2 END AS [AddressAddition]
    ,CASE WHEN EV878_POSTAL_CODE = '' THEN NULL ELSE EV878_POSTAL_CODE END AS [PostalCode]
    ,CASE WHEN EV878_CITY = '' THEN NULL ELSE EV878_CITY END AS [City]
    ,CASE WHEN EV878_STATE = '' THEN NULL ELSE EV878_STATE END AS [State]
    ,CASE WHEN MM540_NAME_ALT1 = '' THEN NULL ELSE MM540_NAME_ALT1 END AS [Country]
    ,[EV878].EV878_REF_CODE AS [EBMS_EV878_REF_CODE]
    ,'included' AS [status] 
    ,GETDATE() AS [ModifiedDatetime]

标签: mysqlsqldatabase

解决方案


欢迎!

在我看来,您想从查询中创建一个表,对吧?这似乎是VIEW的完美用法。

视图是基于 SQL 语句结果集的虚拟表。它包含从创建它们的查询派生的列和行。您可以使用以下语法创建视图:

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

因此,在您的情况下,只需使用您的选择,您最终会得到一个与您的案例陈述相匹配的“表格”。

希望这对你有帮助!


推荐阅读