- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想根据以下可重现示例在 Teradata 中创建递归 View (即 CREATE RECURSIVE VIEW
):
CREATE VOLATILE TABLE vt1
(
foo VARCHAR(10)
, counter INTEGER
, bar INTEGER
)
ON COMMIT PRESERVE ROWS;
INSERT INTO vt1 VALUES ('a', 1, '1');
INSERT INTO vt1 VALUES ('a', 2, '2');
INSERT INTO vt1 VALUES ('a', 3, '2');
INSERT INTO vt1 VALUES ('a', 4, '4');
INSERT INTO vt1 VALUES ('a', 5, '1');
INSERT INTO vt1 VALUES ('b', 1, '3');
INSERT INTO vt1 VALUES ('b', 2, '1');
INSERT INTO vt1 VALUES ('b', 3, '1');
INSERT INTO vt1 VALUES ('b', 4, '2');
WITH RECURSIVE cte (foo, counter, bar, rsum) AS
(
SELECT
foo
, counter
, bar
, bar AS rsum
FROM
vt1
QUALIFY ROW_NUMBER() OVER (PARTITION BY foo ORDER BY counter) = 1
UNION ALL
SELECT
t.foo
, t.counter
, t.bar
, CASE WHEN cte.rsum < 3 THEN t.bar + cte.rsum ELSE t.bar END
FROM
vt1 t JOIN cte ON t.foo = cte.foo AND t.counter = cte.counter + 1
)
SELECT
cte.*
, CASE WHEN rsum < 5 THEN 0 ELSE 1 END AS tester
FROM
cte
ORDER BY
foo
, counter
;
这将创建以下输出:
╔═════╦═════════╦═════╦══════╦════════╗
║ foo ║ counter ║ bar ║ rsum ║ tester ║
╠═════╬═════════╬═════╬══════╬════════╣
║ a ║ 1 ║ 1 ║ 1 ║ 0 ║
║ a ║ 2 ║ 2 ║ 3 ║ 0 ║
║ a ║ 3 ║ 2 ║ 5 ║ 1 ║
║ a ║ 4 ║ 4 ║ 4 ║ 0 ║
║ a ║ 5 ║ 1 ║ 5 ║ 1 ║
║ b ║ 1 ║ 3 ║ 3 ║ 0 ║
║ b ║ 2 ║ 1 ║ 4 ║ 0 ║
║ b ║ 3 ║ 1 ║ 5 ║ 1 ║
║ b ║ 4 ║ 2 ║ 2 ║ 0 ║
╚═════╩═════════╩═════╩══════╩════════╝
我最终想将其“保存”为 View 。我已经尝试过 CREATE RECURSIVE VIEW 和几种变体,但我认为我不明白如何绕过 WITH RECURSIVE cte
语句。
有关相关问题以了解发生的情况,请参阅 this question
最佳答案
好吧,这实际上比我想象的要难:
create recursive view db.test_view (
foo, counter,bar,rsum) as
(SELECT
foo,
counter,
bar,
bar AS rsum
FROM
vt1
QUALIFY ROW_NUMBER() OVER (PARTITION BY foo ORDER BY counter) = 1
UNION ALL
SELECT
t.foo,
t.counter,
t.bar,
CASE WHEN cte.rsum < 5 THEN
t.bar + cte.rsum
ELSE t.bar
END
FROM
vt1 t
JOIN test_view cte
ON t.foo = cte.foo
AND t.counter = cte.counter + 1
)
不要限定 View 的递归连接。 IE,JOIN test_view
,而不是JOIN db.test_view
。
关于sql - 创建一个在 Teradata 中包含 "with recursive"语句的递归 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40940540/
Teradata 中是否有一个函数,可以通过将任意年份的日、月作为参数来“生成”日期?那么如果我有整数参数 p1_day、p2_month 和 p3_year (顺便说一句,它们是属性),是否有一个像
我试图搜索,但我没有找到任何东西。我正在尝试将两列添加到具有默认值 (Teradata) 的表中。我正在尝试这个声明 ALTER TABLE TEST add (DWH_Change_dt date
Teradata 中是否有一个函数可以通过给定任何年份的日、月作为参数来“制作”一个日期?所以,如果我有整数参数 p1_day、p2_month 和 p3_year(顺便说一下,它们是属性),是否有类
在我的 Teradata 表中,dhTimestamp 列下有纪元时间戳 dhTimestamp 1435308067705 1434965874565 1434763800794 14347
谁能解释 Teradata 中的查询带? 我已经对此进行了很多搜索,但无法获得我能理解的信息。 请详细一点。 谢谢!!! 最佳答案 TeraDATA 中的查询分段: Query Banding 提供了
Teradata 数据库中有特殊字符,我想删除它。 Example - special character: "aa€bb" (special charcter is "€" sign) Desir
GitHub 事件只是 empty last month , 至少 latest release 0.10.1 的下载链接(2019 年 3 月)无路可走 对于 VirtualBox images 同
我正在寻找一种方法来识别授予特定数据库中用户的默认权限。我已经尝试过: select * from dbc.allrights where username='user-id' and datab
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
如何计算前 7 天的数据(前一周的周日至周六)。无论一周中的哪一天运行,它都应始终给出前一周的星期日至星期六。谢谢 最佳答案 您的 Teradata 版本是什么? TD14 支持 NEXT_DAY,它
我为参加马拉松比赛的人准备了下表 person start end mike 2-Jun-14 2-Jul-14 nike 3-Jul-14 9-Aug-14 m
我想报告特定 Teradata 数据库的各种统计数据,尤其是“可用空间”。表倾斜是否应该包括在计算中?例如,有人建议了以下查询: SELECT databasename , SUM(maxp
我正在编写一个查询以从数据转储中获取 SCD 2 类型的数据。 我的数据和代码如下: create table promotions ( start_date date, end_date date,
我在 Teradata 中有一张表。我想知道它的大小。对于 Teradata 中的数据库,同样的事情可能会很有趣。 我该怎么做? 最佳答案 要检查您的 table 大小,您可以从 dbc.tables
我正在寻找类似于 ISNUMERIC() 的函数来自 T-SQL 和 Teradata SQL。如果字符类型字段中包含的数据都是数字,我想要一个简单的方法来返回一个 bool 值(或数字 1/0)。
我有下表 CREATE SET TABLE myTab,FALLBACK,NO BEFORE JOURNAL,NO AFTER JOURNAL,CHECKSUM = DEFAULT,DEFAULT M
是否可以将 Teradata 表中的日期直接传输到 .csv 文件中。问题是 - 我的表有超过 1800 万行。如果是,请发送告诉我过程 最佳答案 对于这样大小的表,我建议使用 FastExport
请帮助指导如何在 Teradata 中删除数据库。 当我运行命令DROP DATABASE database_name时,我收到错误消息: *** Failure 3552 Cannot DROP d
teradata中是否有相当于oracle的Listagg函数的函数。递归是我尝试过的一个选项,但想要其他的东西。 谢谢阿里特拉 最佳答案 如果安装了 Teradata 的 XML 服务(从 14.1
我在Teradata 14 中有下表,不允许我自己编写过程和函数,但我可以使用strtok、strtok_split_to_table 等等 id property 1 1234X (Yel),
我是一名优秀的程序员,十分优秀!