2012-10-22 116 views
0

我寫過這樣的查詢。寫入更新根據某些條件更新列的查詢

Update Dynamic_Grid 
set TRIAL=(Select Trial from TEMP) 
where UsrCode='ll1' 
and ColumnName=(Select ColumnName from TEMP) 

這是拋出錯誤。任何人都可以請嘗試糾正它?

+0

什麼是錯誤?請描述'Dynamic_Grid'和'TEMP'。 – Parado

+2

如何記錄'選擇試用TEMP'與這種情況有關'where UsrCode ='ll1''? –

+0

如果'TEMP'包含多於一行,則您的兩個子查詢返回多行。這是不允許的。但是,可以肯定的是,爲什麼不包含錯誤信息讓我們看到?我們不是通靈... – MatBailie

回答

0

最有可能的子查詢返回多個記錄...

這兩個查詢應返回只有一個值..

Select Trial from TEMP 
Select ColumnName from TEMP 
0

可以爲TRIAL只設定一個值。 Select Trial from TEMP可以返回多個值。所以你應該給set一個具體的價值。
你可以使用這個: -

Update Dynamic_Grid 
set TRIAL='some value' 
where UsrCode='ll1' 
and ColumnName IN(Select ColumnName from TEMP)