繁体   English   中英

Teradata SQL:选择文字

[英]Teradata SQL: select a literal

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

我希望大家知道Option> 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 
;

;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM