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, я хочу отправить им сообщение, только если оно получено от их спонсора (авторизовано)
У меня есть оператор case, но у меня проблемы с предложением AND
.
Функция splitVar
просто берет строковый массив '3,4,5,6,7'
и разбивает данные на отдельные строки для оператора вставки.
Кто-нибудь знает, что я делаю неправильно в предложении AND? Я только хочу, чтобы они появились, если ReceiveUplineMessages
является 0
.