基于表值重复/复制查询条目

时间:2016-05-09 15:58:08

标签: sql sybase repeat sqlanywhere

与此PostgreSQL主题相关/复制:so-link

  

假设我有一个有两行的表

 id | value |
----+-------+
 1  |   2   |
 2  |   3   |
     

我想编写一个基于的复制(重复)每一行的查询   价值。我想要这个结果(总共5行):

 id | value |
----+-------+
 1  |   2   |
 1  |   2   |
 2  |   3   |
 2  |   3   |
 2  |   3   |

在SQL Anywhere(Sybase SQL)中如何实现?

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用数字表。 。 。生成整数的一个。也许你有一个方便。还有其他方法。例如,使用递归CTE:

with numbers as (
      select 1 as n
      union all
      select n + 1
      from numbers
      where n < 100
)
select t.*
from yourtable t join
     numbers n
     on n.n <= value;

并非所有版本的Sybase都必须支持递归CTE还有其他方法可以生成这样的表,或者您可能已经有了一个方便的。