【发布时间】:2020-07-25 11:27:57
【问题描述】:
我想使用多个联接从 Oracle 数据库中提取数据。
我在 SQL Server 和 Oracle 数据库之间创建了一个链接。当我只加入一个表时,查询工作正常我试图加入乘法表时它不起作用。
示例查询如下。
select a.*,b.po_no1,c.*
from
(SELECT SUBSTRING(po_no, 1, CASE WHEN CHARINDEX('-', po_no) > 0 THEN
CHARINDEX('-', po_no)-1 ELSE LEN(po_no)
END) po_no1
FROM intext
WHERE rec_status = 'NEW') b
left join
(select * from openquery(DW,'SELECT po_no,order_no
FROM purchaseorder')) a on a.po_no = b.po_no1
right join
(select * from openquery(DW,'SELECT po_no,order_no
FROM salesorder')) c on a.po_no = c.po_no
where a.po_no is not null
【问题讨论】:
-
你为什么要标记 MySQL?
-
您能否也添加一条错误消息。或者这意味着什么不起作用
-
它没有给我任何错误,但是当我在 8 小时后检查时它仍在执行。如果我运行前 2 个表,它将在 8 分钟内给我输出
-
表
b似乎也有语法错误
标签: sql sql-server oracle sql-server-2008