ли ваши данные выглядеть примерно так:
Jan12, Tom, 1, a
Jan12, Tom, 2, b
Jan13, Bob, 3, a
Jan14, Sue, 4, b
Я думаю, что вы говорите, что вы хотите запустить (Query 1):
SELECT C3 from TBL WHERE C1=<Datetime> and C4='a' and C3 is not null
Однако, если запись не найдена, (Запрос 2):
SELECT C3 from TBL WHERE C1=<Datetime> and C4='b'
Если это ваша цель, рассмотрите второй запрос. Для того, чтобы оставить что-нибудь, что бы возвращенную запись с помощью первого запроса, вы можете сделать это (примечание модифицирована второй запрос только) (Query 2A):
SELECT C3 from TBL WHERE C1=<Datetime> and C4='b'
and NOT EXISTS (SELECT * from TBL WHERE C1=<Datetime> and C4='a')
Итак, теперь у вас есть два запроса, с взаимоисключающими Результаты. Вы можете просто объединить их вместе и запустить их как один (Final, объединенный запрос).
SELECT C3 from TBL WHERE C1=<Datetime> and C4='a' and C3 is not null
UNION ALL
SELECT C3 from TBL WHERE C1=<Datetime> and C4='b'
and NOT EXISTS (SELECT * from TBL WHERE C1=<Datetime> and C4='a')
К сожалению, я не понимаю, можете ли вы привести пример с исходными данными и данными результата ?. Например, я не понимаю, почему вы можете иметь два значения в одном столбце C4? Благодарю. –