Teradata SQL:选择一个文本
我想使用任意数字的列表作为select的一种输入。当然,选项A是创建一个只包含值(例如,1,2,3)的临时表 我希望你们知道选项A是什么 假设该语句如下所示: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 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之间的值?或者,您是否希望创建一个列表,并且只回拉与(中)匹配的值?我为自己的无知道歉。