Sellec
@Sellec
Кодер

Как посчитать количество внешних ссылок (через foreign keys) на запись в таблице?

Есть три таблицы.
declare table_source (source_id int, nvarchar(10) value)
declare table_data1 (data_id int, source_id int)
declare table_data2 (data_id int, source_id int)

У таблиц table_data1 и table_data2 есть foreign keys по столбцам source_id к таблице table_source.
Как можно посчитать, сколько записей в table_data1 и table_data2 ссылаются на запись в table_source, НЕ ЗНАЯ о существовании table_data1 и table_data2?
Т.е., конечно, можно написать запрос в стиле (select count(*) from table_data1 where source_id=XX) + (select count(*) from table_data2 where source_id=XX), но это должно работать так, что на этапе написания запроса неизвестно, кто ссылается и будет в будущем ссылаться на table_source. Возможно, добавятся новые таблицы или новые ключи. Нужен универсальный запрос.

Существующие средства для этого есть или надо что-то изобретать?
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 1
@smirnoww
Изобретать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы