У меня есть запрос, который генерирует эту ошибку:
![enter image description here](https://i.stack.imgur.com/P7iQe.png)
Код успешно выполняется при использовании любого условия WHERE
, но когда я объединяю их с OR
, я получаю следующую ошибку:
Несоответствие типов данных в выражении критериев.
Я не уверен, как это интерпретировать. Может кто-нибудь посоветовать?
Это весь код, который генерирует сообщение:
SELECT
tExceptionsAll1.ID,
tExceptionsAll1.CardholderName,
PCARDS_ILL_DBO_CARD.PERSON_ID,
tExceptionsAll1.CardType,
tExceptionsAll1.Duration,
tExceptionsAll1.ExceptionType,
tExceptionsAll1.STL AS [Exp STL],
tExceptionsAll1.CL AS [Exp CL],
tExceptionsAll1.TempSTL As [Exp TempSTL],
tExceptionsAll1.TempCL As [Exp TempCL],
PCARDS_ILL_DBO_CARD.TRANS_LIMIT_AMT AS [Card STL],
PCARDS_ILL_DBO_CARD.MONTH_LIMIT_AMT AS [Card CL],
tExceptionsAll1.TerminationDate,
tExceptionsAll1.DCMNames,
tExceptionsAll1.ReminderDate
FROM PCARDS_ILL_DBO_CARD
INNER JOIN tExceptionsAll1
ON PCARDS_ILL_DBO_CARD.CARD_ID = CLNG(tExceptionsAll1.CardID)
AND CLNG(PCARDS_ILL_DBO_CARD.PERSON_ID) = tExceptionsAll1.CardholderUIN
WHERE
(tExceptionsAll1.STL > 0 AND
tExceptionsAll1.CL > 0 AND
PCARDS_ILL_DBO_CARD.TRANS_LIMIT_AMT <> tExceptionsAll1.STL AND
PCARDS_ILL_DBO_CARD.MONTH_LIMIT_AMT <> tExceptionsAll1.CL AND
tExceptionsAll1.TerminationDate IS NULL)
OR
(tExceptionsAll1.TempSTL > 0 AND
tExceptionsAll1.TempCL > 0 AND
PCARDS_ILL_DBO_CARD.TRANS_LIMIT_AMT <> tExceptionsAll1.TempSTL AND
PCARDS_ILL_DBO_CARD.MONTH_LIMIT_AMT <> tExceptionsAll1.TempCL AND
tExceptionsAll1.TerminationDate IS NULL AND
tExceptionsAll1.Duration like 'One-Time' AND
tExceptionsAll1.ReminderDate < date());