簡體   English   中英

SQL Server 2014中的WITH子句

[英]WITH clause in SQL Server 2014

我有一個查詢

With Price as
(
      select DISTINCT ID, A,B,C,D from AB_TABLE
      WHERE TYPE = 'FULL'
)

我需要能夠與另一個查詢一起加入

With New_Price as
(
      select DISTINCT ID, A,B,C from AB_TABLE
      WHERE TYPE = 'HALF'
)

我怎樣才能做到這一點? 我需要此查詢來創建視圖,因此不能將SELECT與WITH子句一起使用。 如果造成混淆,我深表歉意。 但是Price和New_Price內的查詢實際上很復雜,我想將它們合並以顯示來自它們的記錄,這可能是通過應用UNION實現的。 有人可以幫忙嗎?

WITH處理多個CTE`:

With Price as (
      select DISTINCT ID, A,B,C,D
      from AB_TABLE
      WHERE TYPE = 'FULL'
    ),
    New_Price as (
     select DISTINCT ID, A,B,C
     from AB_TABLE
     WHERE TYPE = 'HALF'
   )
select . . .
from . . . 

我想你在找。

;With Price as (
      select DISTINCT ID, A,B,C,D
      from AB_TABLE
      WHERE TYPE = 'FULL'
    ),
    New_Price as (
     select DISTINCT ID, A,B,C
     from AB_TABLE
     WHERE TYPE = 'HALF'
   )

select ID, A,B,C from Price
 union ALL
select ID, A,B,C from New_Price

要么

select DISTINCT ID, A,B,C,D
      from AB_TABLE
      WHERE TYPE = 'FULL' or TYPE = 'HALF'

SQL-Server VIEW可以使用多個CTE

你可以按照這個

CREATE VIEW
AS
WITH
   CTE1 AS (SELECT * FROM T),
   CTE2 AS (SELECT * FROM T),
   CTE3 AS (SELECT * FROM T)
SELECT * CTE

這是一個簡單的

CREATE VIEW test 
AS 
  WITH price 
       AS (SELECT DISTINCT id, 
                           a, 
                           b, 
                           c, 
                           d 
           FROM   ab_table 
           WHERE  type = 'FULL'), 
       new_price 
       AS (SELECT DISTINCT id, 
                           a, 
                           b, 
                           c 
           FROM   ab_table 
           WHERE  type = 'HALF') 
  SELECT * 
  FROM   (SELECT *
          FROM   price 
          UNION 
          SELECT *
          FROM   new_price) t 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM