尝试合并用于案例功能的列

时间:2018-09-29 16:59:23

标签: sql-server azure tsql

这是原始问题。

  1. 检索运输状态 您被要求创建一个查询,该查询返回销售订单ID和订单日期的列表,其中包含一个名为ShippingStatus的列,其中包含带有已知发货日期的订单的文本“ Shipped”和包含没有发货日期的订单的“ Awaiting Shipment”

    SELECT SalesOrderID, ShipDate,
        CASE   
            WHEN ShipDate IS NOT NULL THEN 'Shipped'
            ELSE 'Awaiting Shipment'
        END AS 'Shipping Status'
    FROM SalesLT.SalesOrderHeader;
    

以下case函数返回了正确的信息,但返回了3列,SalesOrderID,ShipDate和Shipping Status。

See the Sql Query Result here

试图弄清楚如何将这些合并为2列而不是3列。

预先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

正如评论中所讨论的,该问题确实的确是在询问包含3列(销售订单ID,订单日期,运输状态)的结果:

SELECT 
    SalesOrderID, 
    OrderDate,
    CASE   
        WHEN ShipDate IS NOT NULL THEN 'Shipped'
        ELSE 'Awaiting Shipment'
    END AS [Shipping Status]
FROM SalesLT.SalesOrderHeader;

我在这里假设“订购日期”列称为OrderDate,因为您的问题中未指定。

如果您只想显示销售订单ID和运输状态,则完全省略第二列:

SELECT 
    SalesOrderID, 
    CASE   
        WHEN ShipDate IS NOT NULL THEN 'Shipped'
        ELSE 'Awaiting Shipment'
    END AS [Shipping Status]
FROM SalesLT.SalesOrderHeader;