在雪花中使用JOIN子句的参数时,得到错误的结果。为什么? [英] When using parameter for join clause in snowflake, getting wrong result. why?

查看:25
本文介绍了在雪花中使用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)

有人能帮忙吗?谢谢您。

推荐答案

排除此类场景故障的一般方法:

  1. 检查您是否从客户端工具/WebUI连接到相同的数据库/架构

     SELECT current_database(), current_schema();    
  2. 检查您是否使用同一用户(可能存在可能影响行数的访问问题或应用的行级安全)

    SELECT current_user(), current_role();
  3. Snowflake History tab中检查客户端工具发送的准确查询文本,并与手动运行的文本进行比较。

这篇关于在雪花中使用JOIN子句的参数时,得到错误的结果。为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆