я написал SQL запрос для подсчета (на три таблицы) строки, относящиеся к Id:подсчета строк на несколько таблиц для каждого из множества идентификаторов
SELECT
(SELECT `Id` FROM `Tab1` WHERE `Id` = '1') AS ID,
(SELECT COUNT(*) FROM `tab1` WHERE `Id` = '1') AS RowsTab1,
(SELECT COUNT(*) FROM `tab2` WHERE `Id` = '1') AS RowsTab2,
(SELECT COUNT(*) FROM `tab3` WHERE `Id` = '1') AS RowsTab3
Но мне это нужно на массив идентификаторов, так что результатом запроса является таблица, которая показывает для каждого идентификатора количество строк в каждой из трех таблиц.
Результат должен быть что-то вроде:
ID RowsTab1 RowsTab2 RowsTab3
1 2 4 2
2 3 0 8
5 0 2 4
и так далее
Есть ли способ сделать это только с одним запросом?
Я хочу уточнить, что запрос будет выполняться с помощью Excel - VBA
Заранее спасибо
'(SELECT Id FROM Tab1 WHERE Id = '1') AS ID' Это всегда 1 (предполагается, что существует Идентификатор 1), кажется бесполезным. – Devon
Я упростил запрос, используя имена, простейшие, чем реальные для полей и таблиц. Мне нужно, чтобы иметь ссылку на счет (ы) – genespos
Да, но вы выбираете только Id, где Id = 1. Это довольно бессмысленный запрос. Это почти эквивалентно 'select 1' – Devon