结果为每行中有一行的行

时间:2014-11-19 23:57:51

标签: teradata

我有一个返回数值为负数或正数的查询。需要更改为绝对值,然后将每行中的值显示为返回的总数,例如,如果结果为5,则结果为:

Value
1   1
2   1
3   1
4   1
5   1

其中第一列是行,第二列是结果。

如果-3:

Value
1   1
2   1
3   1

作为示例的表格不显示为表格。

1 个答案:

答案 0 :(得分:0)

我使用sys_calendar.calendar,但你可以使用任何包含数字序列的表:

select 1
from sys_calendar.calendar
where day_of_calendar between 1 and abs(your query returning a single row/value)

这将最多工作73,414,这是sys_calendar.calendar的行数

自TD13.10起,还有EXPAND ON,仅适用于期间,但最多可达3,652,058(0001-01-01至9999-12-31之间的天数:

select 1
from (your query returning a single row/value) AS dt
expand on period(date '0001-01-01', date '0001-01-01' + abs(cnt)) as newpd