DataGrip v2018.2:别名列发生'Unresolved Reference'检查错误

时间:2018-08-02 18:15:59

标签: datagrip

我正在使用Redshift,并且有一个查询,我正在其中运行多个聚合/文本字段解析操作。我将这些操作别名为自己的列名,然后稍后在查询中重用该别名以对数据执行其他操作。

代替将聚合/解析代码再次复制到查询的后续部分中,我在后续操作中使用别名列名;哪个Redshift似乎接受为有效用法,因为查询将完成(PostgreSQL不接受此为有效用法)。

例如:

-- How I've currently written my query.
SUM(widget_cost) AS total_widget_cost
, CASE WHEN total_widget_cost > 100.00 THEN '1' ELSE '0' END as widget_check 

vs。

-- How I don't want to have to write my query.
SUM(widget_cost) AS total_widget_cost
, CASE WHEN SUM(widget_cost) > 100.00 THEN '1' ELSE '0' END as widget_check

DataGrip检查第一个版本时,如果在CASE语句中重用,则会在别名“ total_widget_cost”上产生“未解决的引用”错误。话虽如此,该查询可以很好地编译,并且Redshift可以正确地解释查询,因为它可以返回准确的结果。

下面是我在实际代码中看到的屏幕截图:

Query snippet that generates error

我知道您可以禁止显示警告(alt + Enter->“ Inspection Unresolved Reference”选项->“ Suppress for Statement”),但是这样可以阻止出现有效错误,如果我已错误输入了表格名称,等等。

在帮助我使DataGrip能够“识别”这些别名方面的任何帮助将不胜感激!

0 个答案:

没有答案