這是我目前的表:合併2臺爲1的SQL Server
Sales Table
OrderID Customer_ID Customer_Name
1 12 Bob
2 18 Ben
3 11 Harry
OrderID
是主鍵
我有一個臨時表Temp1
:
Order_CreateDate Order_ReturnDate
20051102 20051104
20051103 20051108
20051104 20051105
我想改變日期YYYYMMDD
在Temp1 table
,到YYYY-MM-DD
,並將其移動到表,下面的代碼不起作用,如果我直接插入到Sales Table
,因爲它會顯示錯誤說:
無法將NULL值插入列「Order_ID上」,表「car_rental.dbo.DataInCentralDatabase2」;列不允許有空值。 INSERT失敗
但是,如果我通過輸出到另一個臨時表temp2
進行測試,它工作。
INSERT INTO [dbo].[sales]([Order_CreateDate])
SELECT
CONVERT(date,Order_CreateDate,111) AS Order_CreateDate
FROM dbo.temp1
但是這段代碼運行兩次,temp2 table
(兩個轉換列)具有以下結果:
Order_CreateDate Order_ReturnDate
2005-11-02
2005-11-03
2005-11-04
NULL 2005-11-04
NULL 2005-11-08
NULL 2005-11-05
我知道這個問題是非常令人困惑,但最終的結果,我希望它變成這個樣子:
OrderID Customer_ID Customer_Name Order_CreateDate Order_ReturnDate
1 12 Bob 2005-11-02 2005-11-04
2 18 Ben 2005-11-03 2005-11-08
3 11 Harry 2005-11-04 2005-11-05
如何解決這個任何想法?
如果您的Temp1表中沒有orderID,您如何才能瞭解哪個日期是哪個訂單? – MikkaRin
您的臨時表Temp1是否也有OrderID列來映射具有相應訂單的日期? – Deepshikha
我可以通過CreateDate和ReturnDate重新創建temptable1以獲得OrderID,但是如何將其插入到主銷售表中,以便它成爲最終結果? – Tuzki