Возможно, есть очевидный ответ на этот вопрос, но у меня есть чертовски много времени, когда я с этим справляюсь.
Рассмотрим запрос:
SELECT *
FROM reports AS r
JOIN reportvalues AS rv ON rv.report_id = r.report_id
JOIN metrics AS m ON m.metric_id = rv.metric_id
WHERE r.report_id NOT IN(
SELECT DISTINCT report_id
FROM exclude_report
)
В этом запросе exclude_report
- это представление, построенное аналогичным образом.
Теперь, что происходит, запрос выполняется ОЧЕНЬ долго, предположительно потому, что подзапрос выполняется для каждой строки в родительском запросе. Однако я не нахожу никаких реальных способов сделать это каким-либо иным способом.
О, великие мастера SQL, пожалуйста, посоветуйте. Мне действительно нужен способ сделать все это в SQL, который я буду использовать в SSRS.