Sql server 2008 r2 如何在一个查询中为一个结果编写两个select语句

Sql server 2008 r2 如何在一个查询中为一个结果编写两个select语句,sql-server-2008-r2,dynamic-sql,Sql Server 2008 R2,Dynamic Sql,如何在一个查询中为一个结果编写两个select语句,我想将一个结果的两个select语句组合为avg 结果查询如下:- select (idcount/days) as avg 问题1:- select distinct COUNT(id) as idcount from employee where joiningdate between CONVERT(varchar,@fromdate,103) and CONVERT(varchar,@TODATE,103) 问题2:- selec

如何在一个查询中为一个结果编写两个select语句,我想将一个结果的两个select语句组合为avg

结果查询如下:-

select (idcount/days) as avg
问题1:-

select distinct COUNT(id) as idcount 
from employee
where joiningdate between CONVERT(varchar,@fromdate,103) and CONVERT(varchar,@TODATE,103)
问题2:-

select DATEDIFF(d,@FromDate,@todate) as days

试试这样想

;WITH CTE AS(
   SELECT COUNT(DISTINCT id) AS idcount 
   FROM employee
   WHERE joiningdate BETWEEN CONVERT(varchar,@fromdate,103) and CONVERT(varchar,@TODATE,103) 
)
SELECT idcount/(DATEDIFF(d,@FromDate,@todate)) AS AV
FROM CTE  

试试这样想

;WITH CTE AS(
   SELECT COUNT(DISTINCT id) AS idcount 
   FROM employee
   WHERE joiningdate BETWEEN CONVERT(varchar,@fromdate,103) and CONVERT(varchar,@TODATE,103) 
)
SELECT idcount/(DATEDIFF(d,@FromDate,@todate)) AS AV
FROM CTE  

对您的结果使用子查询对您的结果使用子查询在动态SQL查询中可能吗?是的,这是可能的,但您需要注意连接正确的值。我需要将其插入现有的动态SQL查询中,从何处开始,为了达到这个目的,最好的提问方式。这在动态SQL查询中可能吗?是的,这是可能的,但您需要注意连接正确的值。我需要将其插入到现有的动态SQL查询中,我应该从哪里开始?如果不看您的代码,我会情不自禁地问新问题。