SELECT 3 AS LoggedIn, 83 AS MessageID, Data AS DistID, 1 AS StatusID
, 0 AS Important
, CASE WHEN (dd.SponsorID = 3) THEN 0 ELSE d.ReceiveUplineMessages END AS Test
, dd.SponsorID
FROM msg_SplitVar(',', @MessageList) sv
INNER JOIN Distributor d
ON d.DistID = sv.Data
INNER JOIN DistributorDetail dd
ON dd.DistID = sv.Data
WHERE Data NOT IN (SELECT DistID FROM MessageBlockList WHERE BlockedID = 3)
AND Test = 0
私はディストリビューターテーブルReceiveUplineMessagesにフィールドを設定しています。これを0または1に設定することができます。 これを0に設定すると、スポンサー(ログイン中)からのメッセージのみを送信します。t-sqlとcase文にwith/where句を付けた場合
私はこのケースステートメントを使用していますが、 AND
句に問題があります。
splitVar
関数は文字列ベースの配列'3,4,5,6,7'
を受け取り、挿入ステートメントのためにデータを個々の行に分割します。
誰でも私がAND節で間違っていることを知っていますか? ReceiveUplineMessages
が0
の場合にのみ、それらが表示されるようにします。
エラーを受けています?何がうまくいかない? – Lamak
エラー: 'メッセージ156、レベル15、状態1、行5 キーワード 'AND'の近くに構文が正しくありません。 –