【发布时间】:2021-11-01 02:49:17
【问题描述】:
我有两个 SQL 脚本,正在尝试将它们转换为 DBT。
问题描述如下:-
当前解决方案
1 号 SQL 脚本创建表,2 号 SQL 脚本使用以下查询更新表
UPDATE T1
SET C4 = 3.3 WHERE C1 = 'US'
现在,我想将这些创建和更新作业(脚本 1 和脚本 2)移至 DBT。
DBT解决方案
我在 DBT 中创建了一个名为 T1.sql 的模型,它在数据库中创建表 T1,其内容如下:-
SELECT * FROM member;
现在为了根据上述条件更新表,我将 SELECT 语句编写为
Select c1,c2,c3,
case when c1 = ‘US’ then 3.3 else c4 end as c4
from t1
现在的问题是我应该把它放在 SELECT 语句的什么地方。我不能放入文件 T1.sql 因为每个 DBT 模型文件应该只有一个 SELECT 语句。如果是新文件,那么文件名应该是什么。我不能有多个名为“T1.sql”的文件。
有什么方法可以将这两个操作都包含在 T1.sql 文件中,这样我们就不需要创建任何其他新表来实现这一点?
【问题讨论】:
-
@Gaganoreet 检查下面的代码
标签: sql amazon-redshift dbt