你好,我在SQL Server很新,我的家庭工作有一個問題,這是我的工作,這是我在家庭工作的最後一個問題,出於某種原因,我在最後一個問題上掙扎着。聯盟聲明加入同一表中的兩列
的問題是這樣的:
使用UNION運算符來產生一個結果集由來自Orders表三列: 包含交運或不發貨 的OrderID值ShipStatus計算列OrderID列 OrderDate OrderDate列 如果訂單在ShipDate列中具有值,則ShipStatus列應包含SHIPPED值。否則,它應該包含NOT SHIPPED的值。 對由OrderDate設置的最終結果集進行排序。
這是我到目前爲止,但它似乎並沒有工作。
SELECT OrderID,OrderDate FROM Orders UNION SELECT ShipDate AS ShipStatus FROM Orders IF ShipDate IS NULL THEN ShipDate = 'Not Shipped' ELSE ShipDate = 'Shipped'
我不想確切的答案,因爲我想弄明白,但在正確的方向輕推將不勝感激!
更新---------
嘿傢伙感謝您的幫助! 與大家的幫助我想出了它。
這是最後工作的代碼。聯盟內
SELECT OrderID, OrderDate, 'SHIPPED' AS ShipStatus FROM Orders WHERE ShipDate IS NOT NULL UNION SELECT OrderID, OrderDate, 'NOT SHIPPED' AS ShipStatus FROM Orders WHERE ShipDate IS NULL;
嗯,我修改它看起來像這樣。 'SELECT並按ShipDate AS ShipStatus,訂單ID,訂購日期 FROM訂單 WHERE並按ShipDate IS NOT NULL = '發貨' UNION SELECT並按ShipDate AS ShipStatus,訂單ID,訂購日期 FROM訂單 WHERE並按ShipDate IS NULL = '不發貨';' 我需要的是列OrderID,OrderDate,然後我需要另一列表示OrderStatus,如果值是NULL,那麼它應該說NOT SHIPPED,如果該值不是NULL,那麼它需要輸出爲SHIPPED。 我得到的NULL的方式或不空值如果從ShipDate列 – jfritts6524 2014-10-22 02:30:37
我終於明白了。 此代碼最終輸出了我正在尋找的結果。 '選擇的OrderID,訂購日期, '已裝船' AS ShipStatus 從接單 WHERE UNION SELECT訂單ID,訂購日期, '不發貨' AS ShipStatus 從接單 WHERE並按ShipDate IS NULL並按ShipDate IS NOT NULL;' – jfritts6524 2014-10-22 02:44:18