Я работаю над тем, как работает функция UNION
в SQL Server.Объединение нескольких запросов с использованием функции count
У меня есть запрос, который направляется в одной таблице:
SELECT Category, COUNT(*) AS Number
FROM Table1
GROUP BY Category;
Это возвращает количество записей для каждой отдельной строки в Category
колонки.
У меня есть несколько таблиц, которые организованы этим столбцом Category
, и я хотел бы иметь возможность получать результаты для каждой таблицы, возвращаемой одним запросом.
Похоже, что UNION
выполнит то, что я хочу, но так, как я пытался реализовать запрос, не работает с COUNT(*)
.
SELECT *
FROM (SELECT Table1.Category
Table1.COUNT(*) AS Number
FROM dbo.Table1
UNION
SELECT Table2.Category
Table2.COUNT(*) AS Number
FROM dbo.Table2) AS a
GROUP BY a.Category
Я уверен, что есть очевидная причина, почему это не работает, но может кто-нибудь указать на то, что это такое, и как я мог бы сделать то, что я пытаюсь сделать?
Я все равно получаю ту же ошибку. 'Некорректный синтаксис рядом с * * '' – Neal
@Neal Copy вставьте мой запрос и выполните его, вы никогда не получите эту ошибку. Отсутствует запятая после 'Table1.category' –
Я сделал первый раз, и я сделал это только сейчас, и произошла ошибка. – Neal