【发布时间】:2014-04-27 04:29:32
【问题描述】:
简单的 SQL 查询:
(select e.lastName as Name, count(o.orderid) as numOrd from
Employees e join Orders o on e.employeeid=o.employeeid
group by e.lastName)
结果
布坎南 42
卡拉汉 104
达沃利奥 123
多兹沃思 43
我的问题是如何在 SQL 中实现类似的功能:
let queryResult =
(select e.lastName as Name, count(o.orderid) as numOrd from
Employees e join Orders o on e.employeeid=o.employeeid
group by e.lastName)
然后写这样的东西,这将是输出:
select AVG(qr.numOrd) from queryResult qr
是否可以不创建任何新表?
【问题讨论】:
-
当然,检查表变量。
-
为什么不只是 CTE?这些适用于“别名”,并允许查询规划器优化整个操作。否则,如果出于任何原因需要强制执行结果,则可以使用 SELECT INTO tv。
标签: sql sql-server select