sql server with ...as 用法

SQL SERVER CTE
语法

[ WITH <common_table_expression> [ ,n ] ] 
<common_table_expression>::= 
        expression_name [ ( column_name [ ,n ] ) ] 
    AS 
        ( CTE_query_definition ) 

栗子1:

WITH tb_yield AS (
SELECT  SUM(wdy.QTY) qty  ,cl.LINE, wdy.WEEK  FROM WIP_DAILY_YIELD wdy JOIN CFG_LINE cl
    ON wdy.LINE_GUID = cl.GUID
  WHERE SUBSTRING(wdy.WEEK,1,4) ='2018'
   GROUP BY cl.LINE, wdy.WEEK     
)
SELECT SUM(num) CNT, LINE,sum(qty) QTY FROM (
    SELECT qty,LINE ,week,CONVERT(int,(ROW_NUMBER() OVER(PARTITION BY WEEK ORDER by qty desc))) as num FROM tb_yield
) AS A
  WHERE  A.num =1
  GROUP BY A.LINE

栗子2:

with cte  
as 
(  
select 1 as col1,'aa' as col2  
union all 
select 2,'bb' 
)  

--把cte的数据存储在tb_cte表  
select * into newtable  from cte  

select * from newtable  ;  

--运用cte,删除数据  
;with cte_delete  
as 
(  
select * from newtable  
)  

delete from cte_delete where col1 = 1  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值