使用WITH子句的多个结果集

时间:2011-06-03 14:06:14

标签: sql select

  

可能重复:
  Multiple Select Statements using SQL Server 2005 “WITH” Statement

有什么方法可以使用WITH子句从查询中获取多个结果集? 我正在使用MS SQL 2005。

;with temp as 
(
    SELECT '1' as [Sample]
)
--SELECT COUNT(*) FROM temp
SELECT * FROM temp

这适用于每个select(count或*),但我需要从相同的“temp”返回两个结果集。 这可能吗?

2 个答案:

答案 0 :(得分:0)

使用UNION ALL:

;with temp as 
(
    SELECT '1' as [Sample]
)
SELECT COUNT(*) FROM temp
UNION ALL
SELECT * FROM temp

答案 1 :(得分:0)

我建议您需要重新处理用于使用这对结果集的任何内容,以便它不需要知道在结果到达之前将返回多少结果。如果不是这样,我想不出你需要在哪里检索结果集的COUNT以及结果集本身。