Teradata SQL:选择一个文本

Teradata SQL:选择一个文本,sql,literals,teradata,Sql,Literals,Teradata,我想使用任意数字的列表作为select的一种输入。当然,选项A是创建一个只包含值(例如,1,2,3)的临时表 我希望你们知道选项A是什么 假设该语句如下所示: select Fx, XXXXXX as Foo from MyTable where MyTest depends on each XXXXXX 因此,如果我能神奇地将XXXXXX制作成一个值列表(1,2,3),我会得到一个结果集,如: My val | Foo -------+--- cat | 1

我想使用任意数字的列表作为select的一种输入。当然,选项A是创建一个只包含值(例如,1,2,3)的临时表

我希望你们知道选项A是什么

假设该语句如下所示:

select Fx,
XXXXXX as Foo
from MyTable
where MyTest depends on each XXXXXX
因此,如果我能神奇地将XXXXXX制作成一个值列表(1,2,3),我会得到一个结果集,如:

    My val | Foo
    -------+---
       cat | 1
     mouse | 2
cheesecake | 3
同样,我可以从表中获取输入,但如果没有必要的话,我宁愿不这样做。大师,请插话


TIA。

使用ROW_NUMBER()窗口聚合函数可能会获得成功

随机顺序

SELECT CALENDAR_DATE
     , ROW_NUMBER()
       OVER (ORDER BY 1)
FROM SYS_CALENDAR.CALENDAR
WHERE CALENDAR_DATE BETWEEN DATE '2010-06-01' AND DATE 
;
或按列排序

SELECT CALENDAR_DATE
     , ROW_NUMBER()
       OVER (ORDER BY CALENDAR_DATE)
FROM SYS_CALENDAR.CALENDAR
WHERE CALENDAR_DATE BETWEEN DATE '2010-06-01' AND DATE 
;
或由另一列进行分区以重新启动序列

SELECT CALENDAR_DATE
     , YEAR_OF_CALENDAR
     , ROW_NUMBER()
       OVER (PARTITION BY YEAR_OF_CALENDAR
             ORDER BY CALENDAR_DATE)
FROM SYS_CALENDAR.CALENDAR
WHERE CALENDAR_DATE BETWEEN DATE '2009-11-01' AND DATE 
;

)

我不知道真正被问到的是什么。你能澄清一下吗?您对加入数字表不感兴趣,对吗?您是否希望选择x和y之间的值?或者,您是否希望创建一个列表,并且只回拉与(中)匹配的值?我为自己的无知道歉。