使用SQL Server CTE检索多个结果集

Tys*_*Tys 3 t-sql sql-server common-table-expression

我想知道如何根据一个CTE检索多个结果集?像我下面的东西 - 但显然这不起作用.

根据那个CTE,有谁知道如何获得这两组(或更多)数据?(更多,因为从同一个CTE获得总记录数也会很好.)

;WITH CTE AS  
(
  SELECT 
      Column1, Column2, Column3 
  FROM 
      Product 
  WHERE 
      Name LIKE '%Hat%' AND Description Like '%MyBrand%'
)
SELECT DISTINCT CategoryId FROM CTE
SELECT DISTINCT BrandId FROM CTE
Run Code Online (Sandbox Code Playgroud)

Xed*_*dni 7

CTE仅存在于紧随其后的查询中,因此无法将其用于两个单独的select语句.您需要将数据保存在临时表中,或者构造/调用CTE两次.