首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在雪花中的CASE语句中选择语句

问在雪花中的CASE语句中选择语句
EN

Stack Overflow用户
提问于 2022-03-15 10:53:36
回答 1查看 1K关注 0票数 0

我有一个查询,其中有“TEST”。“TABLE”左转到PUBLIC."SchemaKey“。现在,在我的最后select语句中,我有一个case语句,在该语句中,我检查c."Type“= 'FOREIGN‘,然后我想从另一个表中获取一个值,但是我在该select语句中使用的表名值来自左联接的表列值。我尝试过多种方法来实现工作,但是我不断地得到一个错误,尽管如果我硬编码表名,它似乎是有效的。我需要表名来自c."FullParentTableName“。我试图在雪花中实现的目标是可能的吗?有什么方法可以让这件事成功吗?任何帮助都将不胜感激!

代码语言:javascript
复制
SELECT 
c."ParentColumn",
c."FullParentTableName",
a."new_value",
a."column_name"
CASE WHEN c."Type" = 'FOREIGN' THEN (SELECT "Name" FROM TABLE(c."FullParentTableName") WHERE "Id" = 'SOME_ID') ELSE null END "TestColumn" -- Need assistance on this line...
FROM "TEST"."TABLE" a
LEFT JOIN (
    select s."Type", s."ParentSchema", s."ParentTable", s."ParentColumn", concat(s."ParentSchema",'.','"',s."ParentTable",'"') "FullParentTableName",s."ChildSchema", s."ChildTable", trim(s."ChildColumn",'"') "ChildColumn"
    from PUBLIC."SchemaKey" as s
    where s."Type" = 'FOREIGN'
    and s."ChildTable" = 'SOMETABLENAME'
    and "ChildSchema" = 'SOMESCHEMANAME'
) c
on a."column_name"  = c."ChildColumn"

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-03-15 21:06:59

在雪花中,不能将部分结果动态地用作表。

可以通过标识符使用单个绑定值将值绑定到表名。

但是您可以编写雪花脚本,但它需要显式地加入N个表。因此,如果N是固定的,你应该加入这些。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71481009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档