[英]sql server 2005 'update from' query
我正在嘗試根據另一個表中的用戶ID更新表。 我遇到了語法更新,但是我在努力正確地編寫查詢。
以下代碼應向您顯示我正在嘗試做的事情。 當我運行它時,我得到0行影響。
update jared_test
set user_count = 1
from new_user nuj
inner join (select us.userID
from users us
where us.email = 'j@j.co.uk') u on nuj.userid = u.userid
/ * ** * ** * * 編輯 * ** * ** * ** * ** * ** * ** * \\
我發現Cursor循環存在問題,阻止了此工作,因此這確實有效。 但是,我想知道在這種情況下,哪里比哪里更好。
update jared_test
set user_count = 1
where userid =
(select userID from users where email = 'j@j.co.uk')
嘗試這個
您似乎並未在表“ jared_test”和您通過其選擇的兩個表“ new_user / nuj”和“ users / us”之間建立任何關系。
你是這個意思嗎
update nuj
set user_count = 1
from new_user nuj
inner join (select us.userID
from users us
where us.email = 'j@j.co.uk') u on nuj.userid = u.userid
(如果是這樣,則@Devan建議的標准更新會更有意義)
我不是100%為何其他解決方案使用的子選擇會比常規聯接執行得最慢。 盡管taos subselect本質上是一個有趣的常規聯接。
update aliasName
set aliasName.user_count =1
from new_user aliasName
inner join users u on aliasName.userid = u.userid
where email = 'j@j.co.uk'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.