私はSubscriptionCharityという名前のこのテーブルを持っており、その名前は次のとおりです。
SubscriptionId ChannelURI CharUserID
1 AX 12
2 ZA 7
3 AX 10
同じチャネルURIを持つテーブル内のレコードがあるかどうかを特定のCharUserIdで確認し、それをnullに設定したいので、このテーブルでは「Subcriptionid=1」をnullに設定する必要があります
これには2つのクエリがあります。1つはMSSQLManagement mで機能しますが、LINQでは機能しません:(行には影響しません)
UPDATE SubscriptionCharProg
Set ChannelURI = null
FROM SubscriptionCharProg as t1
INNER JOIN SubscriptionCharProg as t2
on t1.ChannelURI = t2.ChannelURI
and t1.DeviceId = t2.DeviceId
WHERE CharUserId! = 5
LINQで機能するが、MS SQL管理では機能しない別の1つ:(MS SQL管理エラー:無効なオブジェクト名 "t1")
context.ExecuteStoreCommand("UPDATE t1 Set t1.ChannelURI = 1 FROM SubscriptionCharProg as t1 INNER JOIN
SubscriptionCharProg as t2 on t1.ChannelURI = t2.ChannelURI WHERE t1.CharUserId! = "
+ charuserID + "", null);
また、主な問題は、両方のクエリがすべてのchannelURiをnullにすることです。
何かアイデアはありますか?
編集:特定のcharuserIDを持つレコードが2回以上存在する場合、それは保持され、nullに設定されません