首页 > 解决方案 > 雪花错误:SQL 编译错误:位置 6 处的错误行 3 无效标识符 'INTERNAL_ID'

问题描述

当我尝试查询视图时遇到问题。我可以在没有 WHERE 子句的情况下成功提取数据,但是当我添加 WHERE 子句时它会失败。

好查询:

SELECT *
FROM V_WMS_STG_BI_DMLABOR

查询失败:

SELECT *
FROM V_WMS_STG_BI_DMLABOR
WHERE Internal_ID = 5587640

我试图在 Internal_ID 和 value 中添加单引号和/或双引号,但没有成功。我在 Internal_ID ('Internal_ID') 中添加了单引号,但查询没有返回任何数据。我还在标识符和值中添加了单引号,它删除了错误但没有返回数据。

这是应该返回的示例数据。 样本数据集

这是视图架构的架构

提前谢谢你的帮助。

标签: snowflake-cloud-data-platform

解决方案


您的架构将列显示为 Internal_ID,这意味着您需要使用双引号来告诉雪花不要自动大写列名,因此是“Internal_ID”。诀窍是当你把它放在双引号内时,你必须让大小写 100% 正确。

您可以在 UI 编辑器中双击列名,使其通过正确的引号/大小写进入 SQL 编辑器。

该值不需要引号,因为它是一个数字,单引号用于字符串。

因此:

SELECT *
FROM V_WMS_STG_BI_DMLABOR
WHERE "Internal_ID" = 5587640

应该管用。


推荐阅读