2015-10-06 68 views
0

我有两个单独的查询,下面哪些运行正确。现在,我创建了一个计算列以提供YM工作日的计数,并希望将这通过query1(加入将是query1.Period = query2.Yms) 请参阅下面的查询和输出。通过在另一个查询中新创建的计算列

SELECT  Client, ClientGroup, Type, Value, Period, PeriodName, PeriodNumber, ClientName 
FROM   metrics.dbo.vw_KPI_001_Invoice 



select YMs,sum(case when IsWorkDay = 'X' then 1 else 0 end) from IESAONLINE.Dbo.DS_Dates 
where Year > '2013' 
group by YMs 

Query 1 
Client ClientGroup Type Value Period PeriodName  PeriodNumber ClientName 
0LG0 KarroFoods Stock 5691.68 201506 Week 06 2015 35 Karro Foods Scunthorpe 

Query 2 
YMs (No column name) 
201401 23 

回答

0

请问以下工作:

SELECT Client, ClientGroup, Type, Value, Period, PeriodName, PeriodNumber, ClientName, cnt 
FROM   metrics.dbo.vw_KPI_001_Invoice q1 
INNER JOIN (select YMs,sum(case when IsWorkDay = 'X' then 1 else 0 end) as cnt from IESAONLINE.Dbo.DS_Dates 
where Year > '2013' 
group by YMs) q2 ON q1.Period = q2.YMs 

如果值并不总是可用的,那么你可能会考虑改变INNER JOIN到外连接。

相关问题