Получение данных из баз данных Oracle на сервере SQL - PullRequest
0 голосов
/ 13 апреля 2020

Я хотел использовать несколько объединений для извлечения данных из базы данных Oracle.

Я создал ссылку между SQL Сервером и базой данных 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

1 Ответ

0 голосов
/ 13 апреля 2020

Вы можете попытаться создать все объединения на стороне oracle (чтобы получить итоговую таблицу), а затем просто запросить всю таблицу из MS SQL.

...