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

时间:2015-01-28 21:05:31

标签: sql-server tsql 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

1 个答案:

答案 0 :(得分:5)

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