Как сделать поиск по всем схеамам
В бд есть много схем, каждая из них может содержать таблицу X. Нужно посчитать количество записей с условием например X.name = "a" по всем схемам. Как лучше это сделать? Про реализацию на конкретном языке не спрашиваю, просто общий алгоритм
Ответы (1 шт):
Автор решения: Виталий Злобин
→ Ссылка
В MS SQL Server можно обратиться к системным представлениям и получить список таблиц, так же можно приджоинить схемы. Ну а дальше просто считаем количество уникальных строк:
SELECT COUNT(*) AS "Кол-во таблиц"
FROM
(
SELECT DISTINCT
s."name" AS "Схема",
o."name" AS "Таблица"
FROM sys.objects AS o
JOIN sys.schemas AS s ON o.SCHEMA_ID = s.SCHEMA_ID
WHERE o."name" = 'TableName'
) AS subquery
Уверен, что такие представления есть везде, остаётся нагуглить их названия, если у тебя на MS SQL.