如何将多个查询的结果放入1个表中?

时间:2018-03-08 05:45:58

标签: sql sql-server tsql while-loop

如何在一个结果中获得我的查询结果?

正如您在我的示例中所看到的,我将逐个获得多个查询结果。

代码是:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath, containing hit: [String : Any]) -> UICollectionViewCell

enter image description here

2 个答案:

答案 0 :(得分:3)

这就是你要看的东西?

WITH CTE AS
(
    SELECT 1 as start
    UNION ALL
    SELECT start+1 FROM CTE
    WHERE start < 15
)

SELECT * FROM CTE
--OPTION (MAXRECURSION 0) 

如果是,则该方法称为递归CTE ,它也可以发音为 Tally表。 Tally表是您可以避免使用循环 CURSOR 的一种方法 但是,使用 MAXRECURSION 选项/提示来防止无限运行,SQL Server默认递归级别为100.

答案 1 :(得分:2)

您也可以将每条记录保存到表变量中。在WHILE循环之外声明表变量,并在每次迭代时插入每一行。

<强>查询

DECLARE @i int = 0;
DECLARE @tbl AS TABLE([i] INT);

WHILE @i < 15
BEGIN
    SET @i = @i + 1;
    INSERT INTO @tbl([i])
    SELECT @i;
END

SELECT [i] FROM @tbl;