2016-04-14 37 views
0

所有 我轉換我的兩個查詢到表 表1如下:連接兩個預言結果爲單輸出

SITE_ID LEGACY_PACKAGE NEW_PACKAGE_MOVEMENT 
1 CDTPMR CDTPMRMX 
1 CDTPMRNV CDTPMRMX 
1 CDTPMRU CDTPMRUMX 
1 CDTPMRUNV CDTPMRUMX 
1 CONN100 CDTPMRMX 
1 CONN100NVM CDTPMRMX 
1 CONNULD CONNULD 
1 CONNULDNVM CONNULD 
1 ESSENTIALS SIM3PKG 
1 ESSENTLNVM CDTESS 
1 PHNE PREFR CDTPMRMX 

和如下表2:

SITE_ID PACKAGE_CODE SERVICE_RATE 
1 CDTESSU 0 
1 CDTESSU 0 
1 CDTESSU 0 
1 CDTESSU 7.93 
1 CDTESSU 12.99 
1 CDTESSU -7.93 
1 CDTESSU 8.99 
1 CDTESSU 12.99 
1 CDTESSU 0 
1 CDTESSU 8.99 
1 CDTESSU -5.99 
1 CDTESSU 15.99 
1 CDTESSU 0 
1 CDTESSU 0 
1 CDTESSU -5.99 

我的新的輸出應該是這樣的

SITE_ID LEGACY_PACKAGE service_rate1 NEW_PACKAGE_MOVEMENT service_rate2 

通過比較legacy_package(table1)和package_c ODE(表2),以service_rate1

by comparing NEW_PACKAGE_MOVEMENT (table1) with package_code (table2) to service_rate2 

I am trying different ways in oracle sql, but finding it harder. 
is there any clue how to achieve this? 
+0

這是你的連接條件LEGACY_PACKAGE = PACKAGE_CODE? –

+0

是得到service_rate1。我需要比較new_package_movement和package_code到service_rate2。 – user1468031

+0

什麼是service_rate1和service_rate2之間的區別 – cableload

回答

0

嘗試是這樣的..(未經測試)

select 
    t1.site_id,t1.legacy_package, 
    (case when t1.legacy_package=t2.package_code 
      then t2.service_rate else null end) as service_rate1, 
    t1.new_package_movement, 
    (case when t1.new_package_movement=t2.package_code 
    then t2.service_rate else null end) as service_rate2 
    from table1 t1 join 
    table t2 where t1.site_id=t2.site_id and 
    ((t1.legacy_package=t2.package_code) or (t2.new_package_movement=t2.package_code)) 
+0

我可以嘗試內部查詢獲取第二個服務費率1,如 – user1468031

+0

SELECT DISTINCT T1.site_id, T1.LEGACY_PACKAGE AS 「從ICOMS包CD」, T2.SERVICE_RATE, T1.NEW_PACKAGE_MOVEMENT AS 「要ICOMS包CD」, (SELECT T2.SERVICE_RATE AS SERVICE_RATE_NEW FROM表1 T1 INNER JOIN table2的T2 ON T1.site_id = T2.SITE_ID AND T1.NEW_PACKAGE_MOVEMENT = T2.PACKAGE_CODE ) FROM table1 T1 INNER JOIN table2 T2 ON T1.site_id = T2.SITE_ID AND T1.LEGACY_PACKAGE = T2.PACKAGE_CODE ORDER BY T1.site_id,T1.LEGACY_PACKAGE – user1468031

+0

你試過我的版本..這不工作? – cableload