Sql server 2005 在另一个查询中通过新创建的计算列
下面我有两个单独的查询,它们运行正常。现在我创建了一个计算列,以提供YMs的工作日计数,并希望将其传递到query1(连接将是query1.Period=query2.YMs) 请参见下面的查询和输出Sql server 2005 在另一个查询中通过新创建的计算列,sql-server-2005,subquery,left-join,case,calculated-columns,Sql Server 2005,Subquery,Left Join,Case,Calculated Columns,下面我有两个单独的查询,它们运行正常。现在我创建了一个计算列,以提供YMs的工作日计数,并希望将其传递到query1(连接将是query1.Period=query2.YMs) 请参见下面的查询和输出 SELECT Client, ClientGroup, Type, Value, Period, PeriodName, PeriodNumber, ClientName FROM metrics.dbo.vw_KPI_001_Invoice selec
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
将开展以下工作:
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
如果一个值不总是可用的,那么您可以考虑将内部连接更改为外部连接。