【发布时间】:2021-12-10 23:41:21
【问题描述】:
我对 DB2 有疑问。
我有两个具有相同结构数据库的库。唯一的区别是数据。
当我尝试对第一个库执行此 sql 请求时,它可以正常工作
SELECT *
FROM Z24FR.CLIENT, Z24FR.EMPLOYE
WHERE CLIENT.CLINUM = EMPLOYE.CLINUM
但是当我尝试使用其他库时,我遇到了这个错误。
SELECT *
FROM Z24UK.CLIENT, Z24UK.EMPLOYE
WHERE CLIENT.CLINUM = EMPLOYE.CLINUM
Column or global variable CLINUM not found.
CLINUM was not found as a column of table *N in *N and was not found as a global variable in *N. If the table is *N, CLINUM is not a column of any table or view that can be referenced.
我检查了 CLIENT 和 EMPLOYE 表,它们有包含数据的列。
提前感谢您的回答
【问题讨论】:
-
嗯... DB2 不同意你的观点。您可以使用另一个可视化工具访问
Z24UK.CLIENT和Z24UK.EMPLOYE表,以检查它们实际上都有CLINUM列吗? -
我很惊讶第一个没有以同样的方式失败,如果你在
FROM子句中使用它的模式来限定一个表,那么你必须为列使用 3 部分限定名称,比如@ 987654329@,这是选择运行的有效查询吗? see -
@TheImpaler 我使用 DBeaver,它们实际上都有 CLINUM 列
-
我会分别尝试这些表格:1)
select CLIENT.CLINUM from Z24UK.CLIENT;和 2)select EMPLOYE.CLINUM from Z24UK.EMPLOYE。你从这些查询中得到了什么? -
@nfgl 好吧,当我尝试这个
SELECT * FROM Z24UK.CLIENT a, Z24UK.EMPLOYE b WHERE a.CLINUM = b.CLINUM时,会使用“表指示符”,它的工作原理!谢谢你
标签: sql database db2 ibm-midrange db2-400