我正在搜索檢查所有行中的列值並使用where子句作爲條件進行更新。我的情況如下:更新所有行中特定列的查詢
SubscriptionID ChannelURI StudentID
1 XXXX 4
2 yyyy 4
3 XXXX 3
4 XXXX 4
5 XXXX 2
我想檢查特定學生的列通道uri值和所有匹配結果以將其設置爲null。
所以在這種情況下,第3行和第5行應該設置爲空。
我已經試過這一點,但它設置其他行的所有channeluri
比studnetid = 4
爲null
UPDATE SubscriptionCourse
Set ChannelURI = 1
, DeviceId = null
FROM SubscriptionCourse as t1
INNER JOIN SubscriptionCourse as t2
on t1.ChannelURI = t2.ChannelURI
WHERE StudentId! = 4
你能解釋一下爲什麼第3行和第5行應該設置爲空,但其他行不應該這樣的邏輯? –
你真的需要提供一個更好的描述。目前還不清楚你想要達到的目標。 –
對不起,我沒有說清楚:我想檢查表中除了student = 4以外的所有studentid的所有channeluri,並且如果發現studentid = 4 channel uri的匹配,則將匹配的行channeluri設置爲null –