当我在管理工作室中运行我的查询时,它工作正常,但在流分析工作中它会抛出一个错误:查询编译错误:列名无效:'afkorting'。具有此类名称的列不存在..
我下载了输入表以检查上传是否出错,但该文件确实有该列名(我仔细检查过大写字母,写错等),那我该怎么办呢?
这是我的疑问:
; WITH Check AS
(
SELECT afkorting, *
FROM Reizen RE
LEFT JOIN Gegevens AP
ON RE.ID = AP.code
)
SELECT *
FROM Check CH
JOIN Model VM
ON CH.afkorting = VM.Station
WHERE VM.h_station = VM.v_station
AND DATEPART(hour, CH.MsgReportDate) = VM.start_uur
AND (DATEPART(minute, CH.MsgReportDate) BETWEEN VM.start_minuut AND VM.eind_minuut)
AND DATEPART(weekday, CH.MsgReportDate) = VM.weekdag
希望有人可以帮助我!
*问题解决:您需要提供所有列名,所以不要SELECT *而是SELECT column1,column2并使用表的给定前缀,在我的例子中:AP.column1,RE.column2等*
答案 0 :(得分:0)
只需总结上述解决问题的所有评论,我对Stream Query语言元素WITH
,SELECT
&进行了一些测试。 JOIN
。这是我的问题的结果列表。
JOIN
,则在*
范围内使用带有符号WITH
的列名对于在ASA上执行是正确的。JOIN
,必须列出所需的所有列名,而无需使用符号*
执行。原因似乎是为了避免列名冲突的模糊性。答案 1 :(得分:0)
你需要提供所有列名,所以不是
SELECT * but SELECT column1, column2
并使用表格的给定前缀, 例如 就我而言:
AP.column1, RE.column2 etc