Извините за запутанный заголовок, но я не смог придумать наш лучший заголовок. Я объясню более подробно здесь
У меня есть две таблицы. Первая таблица будет возвращать результаты, подобные приведенным ниже
Во второй таблице будет больше подробностей, основанных не только на «Коде», но и на « SubCode 'И будет возвращать результаты, подобные приведенным ниже
Я использую таблицы, чтобы показать подробный отчет мастера, причем первая таблица является мастером и вторая таблица - это детали, поэтому, например, я бы собрал все детали, связанные с «кодом» и «подкодом» мастера.
Как видите, «SubCode» может иметь значение NULL. Поэтому, когда я пытаюсь выполнить мой подробный запрос, я сталкиваюсь с проблемой, как выполнить предложение where
SELECT Description, Amount
FROM TABLE2
WHERE Code = (@AccountCodeParam)
AND SubCode = CASE
WHEN (@SubCodeParam) IS NOT NULL
THEN (@SubCodeParam)
ELSE IS NULL
Это запрос, который я пробовал, но он не будет работать из-за части где 'SubCode =' прерывает 'ELSE IS NULL'
Я не могу сделать оператор OR, потому что он возвращает результаты Table2, которые имеют 'SubCode' = NULL со строками таблицы, которые имеют 'SubCode'
Я неправильно настроил свой первый запрос? или есть другой способ сделать это, любая помощь приветствуется спасибо!