我想根據條件更新我的表1與來自表2的某些字段值。但我無法獲得正確的查詢。這裏的條件:更新另一個表的記錄表
我有一個表1與日期字段應該從表2日期字段更新。條件是表1的id應該等於表2的id(表2具有表1的id作爲FK)。另一個條件應該是表2中有一個varchar字段,它應該有特定的值,比如說「Test」。無論表2中字段的值是否爲「測試」,我想在表1日期字段中更新該記錄的日期。但還有一個問題。它可能會超過1次記錄相同的ID表2中可以具有作爲「測試」
我試圖查詢爲:
UPDATE A
SET A.Date = Max(B.[Date])
FROM Table1 A
INNER JOIN Table2 B ON A.ID = B.FK_ID
WHERE (B.Changed LIKE 'Test')
AND A.Date IS NULL
但這不是工作作爲SQL不允許Max
在沒有分組的情況下更新。請幫忙。有點緊急。
看起來正確的,但爲什麼使用LIKE而不是equals? – 2009-12-11 08:21:37
我的第一個衝動是將它編輯爲平等,但後來我認爲'Test'顯然是一個示例值,所以我想它可能被認爲是它讀取的東西,它實際上會在這個活動實現中實現,並從那裏,我只是假設特德知道'LIKE'和'='之間的差異,並決定不選擇,因爲它是相當周邊的問題=) – 2009-12-11 08:24:33
涼爽的香蕉,想要確保我hadn沒有錯過隨機的語法變化 – 2009-12-11 18:53:11