Добрый день,SQL для объединения и отображения итоговых данных
Я пытаюсь создать небольшую таблицу, которая суммирует некоторые цифры по отношению к отрасли.
Что мне нужно сделать, это объединить несколько строк в один. Значения числа представляют количество проектов в каждой отрасли. Две таблицы соединяются через Expense Cat ID
в подвыборках.
Пример подзапрос:
,(SELECT COUNT (*) FROM [projects]
left join [territory]
on projects.territoryid = territory.territoryid
WHERE expense_category.expensecategoryid = projects.expense_category
AND projects.status = 'Live'
) AS [Live Projects]
так, что я пытаюсь достичь является комбинацией строк, где название категории расходов идентично затем объединить строки.
В двух словах:
CREATE view [dbo].[Industry_Projects_figures] as
WITH [top25_industries] as (
SELECT expense_cat
,(Select COUNT(projectid) from project_table
where project = live) as [Live projects]
,(Select COUNT(projectid) from project_table
where project = live) as [Cancelled Projects]
,(Select COUNT(projectid) from project_table
where project = live) as [Completed]
From industry_table
GROUP BY expense_cat
)
select TOP 25 [top25_industries].*,
[Live Projects] + [Cancelled] + [Completed] as [Grand Total]
FROM [top25_industries]
ORDER BY [Grand Total] DESC
Заканчивается производства:
Industry:
Utilities & Energy 19 143 117 451
Utilities & Energy 172 69 98 339
Utilities & Energy 43 21 23 87
Каждая строка представляет родительские и два дочерних подотраслей! Поэтому мне нужно, чтобы объединить их :(
Ваш SQL должен выдавать ошибку только потому, что вы не можете дважды поставить ключевое слово SELECT («SELECT TOP 1000 SELECT ...») – Smandoli
У меня ошибка, я просто написал это как пример! – Justin
Примеры, которые могут быть проверены. http://stackoverflow.com/help/mcve – Smandoli