Как применить условный оператор в предложении SQL WHERE
Всем Привет
Я столкнулся с проблемой применения условного "если" в предложении where SQL-запроса.
Вот этот вопрос. Я удалил ненужные соединения, имена столбцов и несколько условий в предложении WHERE, чтобы сделать его читаемым.
SELECT TransactionId, TransactionDate , ProcessingDate FROM TransactionDetails WHERE TransactionId in (2,3,9) AND ...AND ..
Теперь мне нужно выбрать записи из таблицы TransactionDetails с другими идентификаторами транзакций 14 & 15 только в том случае, если TransactionDate <> ProcessingDate для этой конкретной записи.
Что я пробовал:
Попробовал использовать IF ELSE - но он работал только с переменными. Я хочу применить это условие к столбцам дат из таблицы.
select * from transactionDetails WHERE OrderID in (400376, 400379) AND IF TransactionDate <> ProcessingDate TransactionId in (2,3,9,14,15) ELSE TransactionId in (2,3,9)
Я получаю две ошибки, как -
Неправильный синтаксис около ключевого слова 'если'.
Неверный синтаксис рядом с 'TransactionId'.
Пожалуйста, прокомментируйте, если вы хотите, чтобы я улучшил свой вопрос
Member 10894637
И как справиться с условием, когда у меня есть только условие "если" и нет никакого "еще", т. е. мне нужно фильтровать записи только тогда, когда оно не равно нулю.
выберите * из списка transactionDetails
Где OrderID in (400376, 400379)
И
Если TransactionDate не равен NULL
ИД транзакции в (2,3,9,14,15)