在雪花中使用JOIN子句的参数时,得到错误的结果。为什么? [英] When using parameter for join clause in snowflake, getting wrong result. why?
本文介绍了在雪花中使用JOIN子句的参数时,得到错误的结果。为什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用连接到雪花数据库的dbeaver。 我想用JOIN子句选择数据。 但是我需要用参数来做。 我的代码是:
select count(*) from my_table as a ${join}
var join = 'LEFT JOIN table_b AS b ON a.ID = b.ID AND b.NAME = a.NAME'
当我运行select语句(在dbeaver中)时,弹出窗口要求我填写${join}
值,
我将值放入文本框中,命令就会运行。我得到错误的结果!(1,254,242)
但在运行以下命令时:
select count(*) from my_table as a LEFT JOIN table_b AS b ON a.ID = b.ID AND b.NAME = a.NAME
我得到正确的结果(900,254)
有人能帮忙吗?谢谢您。
推荐答案
排除此类场景故障的一般方法:
检查您是否从客户端工具/WebUI连接到相同的数据库/架构
SELECT current_database(), current_schema();
检查您是否使用同一用户(可能存在可能影响行数的访问问题或应用的行级安全)
SELECT current_user(), current_role();
在Snowflake History tab中检查客户端工具发送的准确查询文本,并与手动运行的文本进行比较。
这篇关于在雪花中使用JOIN子句的参数时,得到错误的结果。为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文