В настоящее время у меня сложный SQL-запрос, который вставляется в временную таблицу. Запрос включает в себя OUTER APPLY
, поскольку не все возвращенные записи будут применяться к набору результатов.Отфильтровать столбец OUTER APPLY в разделе WHERE
Мне также необходимо использовать столбцы OUTER APPLY
в предложении WHERE
для фильтрации результатов, но также включать результаты, которые не относятся к OUTER APPLY
.e. Все результаты Outer APPLY = 1 и не внешние результаты.
Это простая версия макета запроса:
INSERT INTO #temp (X, Y, Z, O1, O2)
SELECT
X Y Z
FROM T1
INNER JOIN T2, T etc.
OUTER APPLY (
SELECT O1, O2 FROM XYZ…) OATable
WHERE
OATable.O1 = 1 -- I tried just adding “IN (1, NULL)” but this
still excludes the results.
Любая помощь будет принята с благодарностью.
Платформа: SQL Server 2012+
Спасибо
Я заинтригован фактического запроса; ответы пока кажутся хорошими, но я не думаю, что мы (потенциальные ответчики) действительно можем судить, если мы будем отвечать на основе вашего очень упрощенного запроса. Если вы можете отправить полный запрос, пожалуйста, можете ли вы это сделать? Это может помочь получить более совершенный ответ. –
Некоторые примеры данных также были бы полезными, возможно. –