我有一种情况我不确定它是否可以执行。
我有两个表我需要加入并使用计数。SQL 2012将连接多个表的多个查询连接起来并统计到一个表中
表1 = “EPM_ProjectUserview”
[ProjectUID], [ProjectName], [EnterpriseProjectTypeUID](used as a filter)
表2 = “EpmTask_UserView”
[ProjectUID],[Task_Significance], [TaskPercentCompleted] then 3 count fields
[total Count], [Count 100% complete], Count <1005]
这会给我的表看起来像这样
注:有一个第一列不适合项目名称
|Apps|Overall% Comp| Totl Count|100% Compl|Not 100% Comp|Overall Health|
同一行的接口将是真实的
总体%完整和整体健康来自于摘要任务
(这是项目服务器)
ProjectUID是加入一个重点领域。
所以我有5个不同的查询,所有的工作,但当然我需要他们在1表。
查询1 - 这是项目名称projectUID和EnterpriseprojecttypeUID
SELECT [ProjectName]
,[ProjectUID]
,[EnterpriseProjectTypeUID]
FROM [dbo].[MSP_EpmProject_UserView]
where [projectUID] not like '0000CF75-FB12-4FFC-A404-AEC4F3258A9C'
And
[EnterpriseProjectTypeUID] like '76194144-3CDB-E611-9419-00215A9259E8'
order by [ProjectName]
查询2这使我每种类型
SELECT p.[ProjectName]
,T.[Task_Significance]
-- ,T.[TaskPercentCompleted]
,count (*) as [Total Count]
FROM [psmado].[dbo].[MSP_EpmProject_UserView] as P
join [PSMADO].[dbo].[MSP_EpmTask_UserView] as T
On T.[projectUID] = P.[projectUID]
where
([Task_Significance] like 'App'
Or
[Task_Significance] like 'Interface')
Group by [ProjectName], [Task_Significance]
查询3-下一查询的总数给我的100 %完成列
SELECT p.[ProjectName]
,T.[Task_Significance]
-- ,T.[TaskPercentCompleted]
,count (*) as [Count]
FROM [psmado].[dbo].[MSP_EpmProject_UserView] as P
join [PSMADO].[dbo].[MSP_EpmTask_UserView] as T
On T.[projectUID] = P.[projectUID]
where T.[TaskPercentCompleted] >= 100
and
([Task_Significance] like 'App'
Or
[Task_Significance] like 'Interface')
Group by [ProjectName], [Task_Significance]
查询4 - 下一个给我的那个少一些N 100%完成
SELECT p.[ProjectName]
,T.[Task_Significance]
-- ,T.[TaskPercentCompleted]
,count (*) as [Count]
FROM [psmado].[dbo].[MSP_EpmProject_UserView] as P
join [PSMADO].[dbo].[MSP_EpmTask_UserView] as T
On T.[projectUID] = P.[projectUID]
where T.[TaskPercentCompleted] < 100
and
([Task_Significance] like 'App'
Or
[Task_Significance] like 'Interface')
Group by [ProjectName], [Task_Significance]
查询5最后整个任务的健康和%完全来自不同的行中的表
SELECT [dbo].[MSP_EpmProject_UserView].[ProjectName]
,[dbo].[MSP_EpmTask_UserView].[ProjectUID]
,[dbo].[MSP_EpmTask_UserView].[TaskName] as [Name]
,[dbo].[MSP_EpmTask_UserView].[TaskPercentCompleted] as [% Complete]
,[dbo].[MSP_EpmTask_UserView].[Task Health] as [Health]
,[dbo].[MSP_EpmTask_UserView].[Task_Significance]
,[dbo].[MSP_EpmTask_UserView].[TaskOutlineNumber]
FROM [dbo].[MSP_EpmTask_UserView]
inner join [PSMADO].[dbo].[MSP_EpmProject_UserView]
on [dbo].[MSP_EpmTask_UserView].[projectuid] = [PSMADO].[dbo].[MSP_EpmProject_UserView].[ProjectUID]
where [dbo].[MSP_EpmTask_UserView].[projectUID] not like '0000CF75-FB12-4FFC-A404-AEC4F3258A9C' -- the timesheet project null
and [Task_Significance] like 'App Summary'
or [Task_Significance] like 'Interface Summary'
order by [ProjectName], [TaskOutlineNumber]
难道这被(工会是不工作的投入一个表我)如果是这样怎么样?
感谢您的帮助
这就是我所得到的。你可以看到它只是重复每个部分。 (我砍掉了它的一部分,但也有36行。)
向我们展示db架构,示例数据和预期输出。 \t请阅读[**如何提问**](http://stackoverflow.com/help/how-to-ask) \t \t这里是一个伟大的地方[** START **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)来了解如何提高您的问题质量并获得更好的答案。 –
什么意思'这些可以放在一张桌子上吗? –