【问题标题】:Retrieving data from Oracle databases in SQL server从 SQL Server 中的 Oracle 数据库中检索数据
【发布时间】: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


【解决方案1】:

您可以尝试在 oracle 端创建所有连接(以获得最终表),然后从 MS SQL 查询整个表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2014-01-05
    • 1970-01-01
    • 2013-08-03
    • 2012-12-19
    相关资源
    最近更新 更多