Попросите простой запрос UNION ALL, выйдя замуж за результаты двух запросов. Первый запрос, самостоятельно запускаться, возвращает 1208 записей, а второй 14. Я хотел бы ожидать правильно syntaxed UNION ALL вернуть 1222 записей, но мои падает до 896.T-SQL [UNION ALL] удаление записей из результата запроса
делает нулевой смысл для меня:
SELECT a.WBS_ELEMENT_ID as [WBS Element],
a.WBS_ELEMENT_DESC as [WBS Element Desc],
a.UHC_INDUSTRY as [Industry],
a.UHC_SECTOR as [Sector],
a.UHC_DUNS_NUMBER as [UHC DUNS Number],
a.UHC_DUNS_NAME as [UHC DUNS Name],
a.PRIORITY_SUB_SECTOR as [Priority Sub Sector],
a.BUDGET_ALLOCATION as [Budget Allocation],
a.LAST_UPDATED_ON as [Last Updated]
FROM DimSectorPd a
WHERE a.wbs_element_id is not null
UNION ALL
SELECT ROW_NUMBER() OVER (ORDER BY a.wbs_element_desc) as [WBS Element],
a.WBS_ELEMENT_DESC as [WBS Element name],
a.UHC_INDUSTRY as [Industry],
a.UHC_SECTOR as [Sector],
a.UHC_DUNS_NUMBER as [UHC DUNS Number],
a.UHC_DUNS_NAME as [UHC DUNS Name],
a.PRIORITY_SUB_SECTOR as [Priority Sub Sector],
a.BUDGET_ALLOCATION as [Budget Allocation],
a.LAST_UPDATED_ON as [Last Updated]
from dimsectorpd a where a.WBS_ELEMENT_ID is null
Вы смотрели, чтобы увидеть, какие записи не являются в конечном итоге? Есть ли там шаблон? –
Выстрел в темноте. Но попробуйте дать второму запросу другой псевдоним. Также я задаюсь вопросом, кэшируется ли какой-то другой результат запроса, и это то, что дает неверный результат. И наконец, это ROW_NUMBER() является подозрительным. – dotnetN00b
Я бы вынул ROW_NUMBER() и оставил нулевое значение во втором запросе, чтобы убедиться, что вы возвращаете 1222 записи. – FutbolFan