0
我有3個數據庫,我需要提取數據(我們稱之爲DB1,DB2和DB3)。 從DB1我選擇返回像這樣的查詢:「有條件」加入到不同的表
ORDER DESC TOTAL ORGANIZATION
=============================================
262 Order1 5129 116
629 Order2 123 138
915 Order3 95 138
159 Order4 1932 116
,然後從DB2和DB3我選擇該信息(包括表是相同的,但與diferent組織diferente數據)
DB2 (ORG 116):
ORDER TYPE
==================
262 2
159 5
856 3
629 2
DB3(ORG 138):
ORDER TYPE
==================
629 1
915 4
012 1
262 5
正如你所看到的,兩個組織都可以讓它們具有相同的訂單號,但是不同類型。
如何將DB1與DB2和/或DB3一起提取TYPE列,但是根據DB1組織列查找不同的DB?
結果會是這樣:
ORDER DESC TOTAL ORGANIZATION TYPE
===========================================================
262 Order1 5129 116 2
629 Order2 123 138 1
915 Order3 95 138 4
159 Order4 1932 116 5
正如你所看到的,對於訂單262我得到了2型從DB2(而不是從DB3因爲ORG是116)和ORDER 629我從拿到1型DB3(不是來自DB2,因爲ORG是138)
我的簡單查詢會是這樣的(我使用WITH ... AS,因爲querys非常長,每個來自不同的服務器,所以這樣一切似乎更多有組織):
With EAM as (
Select Order, Desc, Total, Organization
from Table1
),
AP116 as (
select order, type
from table2
),
AP138 as (
select order, type
from table3
)
select *
from EAM inner join AP116 on EAM.order = AP116.order
此查詢正常工作,但將所有訂單鏈接到AP116。我需要使用一個CASE或其他東西來讓我選擇AP116或AP138,這取決於最後一行的ORG。
'LEFT JOIN'的所有表,只是選擇你需要用'CASE'語句中的值? – DavidG