小编And*_*der的帖子

3个表,2个数据库,1个服务器……如何加入?(SQL/Informix)

我需要制定一个查询来执行以下操作:1) 在同一台服务器上加入两个 (informix) SQL 表(已经完成/工作) 2)在同一台服务器上加入第三个 SQL 表,但在不同的数据库中。

对于我的示例代码,让我们在 databaseA 上使用 tableA 和 tableB,在 databaseB 上使用 tableC。

连接同一个数据库上的两个表是没有问题的。

SELECT tableA.columnA
       tableB.columnA
FROM
       tableA
JOIN
       tableB
ON
       tableB.columnSHARED = tableA.columnSHARED
WHERE
       ([where clauses are inconsequential for this])
Run Code Online (Sandbox Code Playgroud)

现在,我似乎无法工作的是 databaseB 上 tableC 的第二个 JOIN 子句。我尝试使用数据库名称前缀为所有表/列引用添加前缀,但这似乎不起作用。

澄清一下,两个数据库都在同一台服务器上,运行这些命令的用户可以访问这两个数据库。我会提供一条错误消息,但除了在字符位置 Y(第三个连接子句)附近的行 X 上存在错误这一事实之外,从 Informix 返回并没有任何有用的信息。还有一个通用链接:

databaseB.tableC.columnSHARED
Run Code Online (Sandbox Code Playgroud)

将如何/我可以加入databaseB.tableCdatabaseA.tableAdatabaseA.tableB


编辑 2:响应者的新清理查询:

SELECT FIRST 100 
    tableA.sharedColumn, 
    tableA.colA, 
    tableA.colB, 
    tableA.colC, 
    tableA.colD, 
    tableA.colE, 
    tableA.colF, 
    tableA.colG, 
    tableB.colA ,
    databaseB:tableC.column
FROM 
    tableA 
JOIN 
    tableB 
ON 
    tableB.sharedColumn = …
Run Code Online (Sandbox Code Playgroud)

sql database informix join isql

5
推荐指数
1
解决办法
1968
查看次数

标签 统计

database ×1

informix ×1

isql ×1

join ×1

sql ×1