与此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)中如何实现?
答案 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还有其他方法可以生成这样的表,或者您可能已经有了一个方便的。