如何转换为 CTE
How to go convert to CTE
我对 CTE 作品有点困惑。我需要将我的语句从带有 UNION 的汇总转换为 CTE...但是 CTE 让我有点困惑。
任何想法如何处理这个?
SELECT
ProductName,
Sum ((ItemPrice - DiscountAmount)*Quantity) as ProductTotal
FROM
Products
JOIN OrderItems
ON Products.ProductID = OrderItems.productID
GROUP BY ProductName WITH ROLLUP
Order By ProductTotal
您可以使用 CTE 将其表示为:
with cte as (
select ProductName,
Sum((ItemPrice - DiscountAmount)*Quantity) as ProductTotal
from Products p join
OrderItems oi
on p.ProductID = oi.productID
group by ProductName
)
select *
from cte
union all
select null, sum(producttotal)
from cte
order by producttotal;
我对 CTE 作品有点困惑。我需要将我的语句从带有 UNION 的汇总转换为 CTE...但是 CTE 让我有点困惑。
任何想法如何处理这个?
SELECT
ProductName,
Sum ((ItemPrice - DiscountAmount)*Quantity) as ProductTotal
FROM
Products
JOIN OrderItems
ON Products.ProductID = OrderItems.productID
GROUP BY ProductName WITH ROLLUP
Order By ProductTotal
您可以使用 CTE 将其表示为:
with cte as (
select ProductName,
Sum((ItemPrice - DiscountAmount)*Quantity) as ProductTotal
from Products p join
OrderItems oi
on p.ProductID = oi.productID
group by ProductName
)
select *
from cte
union all
select null, sum(producttotal)
from cte
order by producttotal;