问题标签 [teradata-sql-assistant]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
71 浏览

group-by - 在 Teradata 中实现聚合

我想按升序聚合 2 个字段 proct_dt、dw_job_id 我的场景将通过使用以下查询和结果变得清晰。

第一个查询:-

sel * from scratch.COGIPF_RUNREPORT_test1 order by proct_dt,dw_job_id where dw_job_id =10309

输出 :-

1 10,309 2018-03-06 00:00:00 2018-03-06 07:04:18 2018-03-06 07:04:22.457000 0
2 10,309 2018-03-06 00:00:00 2018-03-06 06:58:50 2018-03-06 06:58:51.029000 0
3 10,309 2018-03-07 00:00:00 2018-03-07 06:35:36 2018-03-07 06:36:03.809000 1
4 10,309 2018-03-06 00:00:00 2018-03-06 07:00:35 2018-03-06 07:00:40.702000 0

5 10,309 2018-03-06 00:00:00 2018-03-06 06:30:25 2018-03-06 06:30:42.759000 0

6 10,309 2018-03-06 00:00:00 2018-03-06 07:10:27 2018-03-06 07:10:28.715000 0

7 10,309 2018-03-06 00:00:00 2018-03-06 06:59:44 2018-03-06 06:59:48.315000 0

8 10,309 2018-03-06 00:00:00 2018-03-06 07:00:15 2018-03-06 07:00:15.086000 0

9 10,309 2018-03-06 00:00:00 2018-03-06 07:04:02 2018-03-06 07:04:02.925000 0

第二个查询:-

sel * from scratch.fact_test order by proct_dt asc ,dw_job_id asc where dw_job_id =10309

结果 :-

1 10,309 2018-03-06 00:00:00 2018-03-06 06:30:25 2018-03-06 06:30:42.759 12

2 10,309 2018-03-07 00:00:00 2018-03-07 06:35:36 2018-03-07 06:36:03.809 12

所以在第二个查询中,我通过第一次出现 proct_dt,start_ts,end_ts 从第一个表中得到了期望的结果

请让我知道任何澄清如果有人可以帮助解决这个问题,那就太好了。

谢谢,

0 投票
0 回答
242 浏览

sql - 无需存储过程 teradata 即可生成动态查询

第一张表:

第二张表:

询问

在 then 子句中的第二个 case 语句中,我需要使值动态但不解析。

还有其他方法吗?我不能使用存储过程。

0 投票
1 回答
10798 浏览

datetime - 计算 Teradata 中的时差

我有一个场景以分钟计算时间戳的差异。2个表有一个公共字段,即dw_job_id,想加入2个表,猜测,计算

示例,分钟减法:

使用以下记录会很清楚:

第一个查询有 end_ts:

结果:

第二个查询:

结果:

最终结果应该是:

例子:

分钟减法:-(2018-03-05 01:53:14.201000 - 2018-03-05 08:00:00.000000)= -366

数据类型:

0 投票
1 回答
22 浏览

teradata - 哪个最好?临时表还是经典物化?

你能告诉我一件事,什么会更快?

  1. 从工作表中删除,插入工作表,然后将转换后的数据(转换不多)插入目标表
  2. 插入临时表,然后从临时表插入目标(结束)表

如果您有一些好的文档,我可以在其中找到此类性能问题的答案,请分享:) 谢谢!

最好的问候, 米哈尔

0 投票
1 回答
645 浏览

timestamp - Teradata 中的整数转换为时间 (6)

我有 2 个整数字段 SLA_HR 和 SLA_MIN 想要通过连接 2 个字段 SLA_HR 和 SLA_MIN 转换为时间(6)

示例表 xyz

结果:- 04:06:00 12:30:00

如果有人能在这方面提供帮助,那就太好了。

谢谢

0 投票
1 回答
137 浏览

mysql - Teradata 上的内部联接有问题

我必须在网络上的消费者身上找到一个特定的号码。客户建议使用table "abcd"并确保manufacturer='big_company"满足。所以我在 Teradata 上运行了以下查询。

该查询运行正常,记录总数为 6 亿条。

客户的另一个问题是,在网络上的消费者中,有多少人选择了特定的服务。我被要求使用表“wxyz”并确保满足 postpaid=1 条件。为了实现这一点,我必须在 tel_num 上创建 abcd 和 wxyz 之间的内部连接。以下是我使用的查询:

上述查询生成 50 亿条记录。

这看起来很奇怪,因为我使用了内连接,所以第二个查询中的记录数应该少于 6 亿。我只是无法弄清楚我哪里出错了。

0 投票
2 回答
37 浏览

mysql - 多重内连接关注

我正在尝试按月获取数据。


REPORT_DT 存在于 db2 中,但我仍然收到一条错误消息,提示 REPORT_DT 不存在

如果我按如下方式更改括号的位置,我会收到一条错误消息,提示“REPORT_DT”和“where”关键字之间应该有一些东西。

0 投票
0 回答
15 浏览

sorting - 在 SQL Teradata 中对应用程序版本进行排序

有不同的应用程序版本,例如 5.1.2、5.1.5.6、6.7、8.1.2 等。我想选择应用程序版本 > 5.1 的所有记录,但是我不能使用下面的代码这样做。

下面的代码显然会引发错误:

0 投票
2 回答
99 浏览

teradata - 不加入全桌

我需要 LEFT JOIN 但“右”表非常大,我只需要 2018 年 1 月 1 日之后的值,而整个表都有 2012 年之前的记录。为了加快我的查询速度,因此我不需要 LEFT JOIN完整表,但记录 > 2018-01-01 的表。如果我在查询末尾使用 where 语句,它仍然会使用完整表吗?我怎样才能做到这一点?

0 投票
1 回答
3217 浏览

c# - 如何在 TeraData 中执行存储过程

我已经创建了一个存储过程Teradata - SQL Assistant

但是,我无法执行它。它有 5 个参数,我只需要传递 3 个参数作为输入。