我有一个通过 ODBC 访问的远程 DB2 数据库。当我有类似的查询时
SELECT t.foo, t.bar, t.problemcolumn
FROM problemtable t
WHERE t.bar < 60;
它就像一个魅力,所以表和列显然存在。
但是如果我在 WHERE 子句中指定问题列
SELECT t.foo, t.bar, t.problemcolumn
FROM problemtable t
WHERE t.problemcolumn = 'x'
AND t.bar < 60;
它给了我一个错误
Table "problemtable" does not exist.
这可能是什么原因?我已经仔细检查了拼写,我可以通过在 where 子句中包含问题列来触发问题。