想知道是否有人可以用一個非常簡單的SQL查詢來幫助我。在SQL Server中使用where table1.jobid = table移動數據2.jobid
我需要將數據從表1轉移到表2
我應該使用加入?
我只想用來自table1的數據填充NULL列,使用jobID進行匹配。
由於提前
AC
想知道是否有人可以用一個非常簡單的SQL查詢來幫助我。在SQL Server中使用where table1.jobid = table移動數據2.jobid
我需要將數據從表1轉移到表2
我應該使用加入?
我只想用來自table1的數據填充NULL列,使用jobID進行匹配。
由於提前
AC
有了它聽起來像所有你需要的有限的知識是一個簡單的UPDATE:
UPDATE PreviousJobsTEST
SET dValuationDate = Jobs.dValuationDate
FROM PreviousJobsTEST
JOIN Jobs
ON PreviousJobsTEST.iJobID= Jobs.iJobID
如果你只是想更新它,如果它爲null,則你可以這樣做:
UPDATE PreviousJobsTEST
SET dValuationDate = CASE WHEN PreviousJobsTEST.dValuationDate IS NULL THEN Jobs.dValuationDate ELSE PreviousJobsTEST.dValuationDate END
FROM PreviousJobsTEST
JOIN Jobs
ON PreviousJobsTEST.iJobID= Jobs.iJobID
或者,根據你的評論,你可以做你所擁有的列表中,您只需將其變成SELECT後面的插入:
INSERT INTO [DocPrep].[dbo].[PreviousJobsTEST] (dValuationDate)
SELECT [DocPrep].[dbo].[Jobs].[dValuationDate]
FROM [DocPrep].[dbo].[PreviousJobsTEST]
JOIN [DocPrep].[dbo].[Jobs]
ON [DocPrep].[dbo].[Jobs].[iJobID] = [DocPrep].[dbo].[PreviousJobsTEST].[iJobID]
Im get: Msg 209,Level 16,State 1,Line 2 歧義列名'dValuationDate'。 – Mikey3Strings 2012-04-05 01:58:44
@AtomicCockroach我已經更新了我的回答 – 2012-04-05 01:59:37
我試着第一個更新子句 – Mikey3Strings 2012-04-05 02:01:24
當t1.column爲空時,您需要更新。當t1.column不爲空時,你應該把它設置爲自己。
SELECT *
INTO #table1
FROM (SELECT '1' AS jobid,
NULL AS column1
UNION ALL
SELECT '2',
NULL
UNION ALL
SELECT '3',
NULL
UNION ALL
SELECT '4',
'A'
UNION ALL
SELECT '5',
NULL) a
SELECT *
INTO #table2
FROM (SELECT '1' AS jobid,
'1' AS column1
UNION ALL
SELECT '2',
'2'
UNION ALL
SELECT '3',
'3'
UNION ALL
SELECT '4',
'4'
UNION ALL
SELECT '5',
'5')b
UPDATE t1
SET t1.column1 = (CASE
WHEN t1.column1 IS NULL THEN t2.column1
ELSE t1.column1
END)
FROM #table1 t1
LEFT JOIN #table2 t2
ON t1.jobid = t2.jobid
SELECT *
FROM #table1
我試過,但我失敗了:。。。(dValuationDate) FROM [DocPrep] INSERT INTO [DocPrep] [DBO] [PreviousJobsTEST] [DBO] [招聘] WHERE [DocPrep] 。[dbo]。[Jobs](iJobID)= [DocPrep]。[dbo]。[PreviousJobsTEST](iJobID) – Mikey3Strings 2012-04-05 01:49:30
歡迎來到Stack Overflow!我總是喜歡歡迎新成員,並讓他們知道讚賞通過upvotes和接受的答案顯示(檢查旁邊的答案)。請查看[faq]獲取更多信息,特別是[ask] – 2012-04-05 01:57:41