2015-08-21 67 views
0

我想更新[To]表中來自[From]表中關鍵字相等的行中的行。所以這是我會做的:UPDATE table1 FROM table2(使用Sql Server Compact)

UPDATE [To] 
SET [To].[Name]  = [From].[Name], 
     [To].[Size]  = [From].[Size], 
     [To].[Something] = [From].[Something] 
FROM [From] 
WHERE [To].[Id] = [From].[Id]; 
go 

問題是,CE doesn't support FROM in the UPDATE command

那麼,我該如何改變這種語法在CE中工作?

+0

可能重複[如何從另一個表執行Sql Server CE表更新](http://stackoverflow.com/questions/1311236/how-to-do-sql-server-ce-table-update-from-another-表) – TTeeple

+0

@Teeple不,這不是一個騙局,因爲答案不起作用,這是阿布舍克的答案,這是行不通的。 –

+0

這個怎麼樣? http://stackoverflow.com/questions/6933686/update-on-two-inner-joined-tables-in-sql-server-compact-4?rq=1 – TTeeple

回答

1

嘗試以下代碼段(未測試) -

UPDATE [To] 
SET [To].[Name]  = [From].[Name], 
     [To].[Size]  = [From].[Size], 
     [To].[Something] = [From].[Something] 
WHERE EXISTS (SELECT 1 FROM [FROM] WHERE [To].[Id] = [From].[Id]) 
+0

不用它說'列名無效。 [節點名稱(如果有)= From,Column name = Name]' –

+1

看起來這樣做不能在單個查詢中完成,因爲需要對** [TO] **中的** [從]**。根據建議,該值需要存儲在某個變量中,然後使用該變量進行更新。 – Abhishek

+0

你會怎麼做? –

-1

更新到 集to.fld1 = from1.fld1 從表1到內部聯接表上to.id = from1.id

1跳轉
+0

OP明確提到'from'不被支持。 –

+0

你的權利。什麼是OP? –

+0

原始海報 –

相關問題