создание ibm 1 sql - нужно добавить 2 таблицы

У меня есть следующий вид, который работает, но не уверен, как добавить 2 таблицы для объединения.

Это таблица adres1, и она соединится IDENT# и IDSFX# с таблицей
prodta.adres1 с именами adent# и adsfx#, там мне нужен столбец. ads15. тогда мне также нужно получить строку ship to в этом adres1. это мы получаем сначала из таблицы order, prodta. oeord1 в цв. odgrc#. Этот grc# имеет 11 позиций и объединяет 8 и 3 из ent и suf. эти 2 представляют запись ship to и глядя в ту же таблицу adres1 (у нас есть много логических представлений для них, если это проще, например adres15), мы можем получить col. ADSTTC для состояния корабля.

Не уверен, можно ли включить эти 2 новые части в текущий код, созданный ниже. Пожалуйста, спрашивайте, если что-то непонятно, это старая система и несколько запутанная разработка.

CREATE VIEW Prolib.SHPWEIGHTP AS SELECT 
 T01.IDORD#, 
 T01.IDDOCD, 
 T01.IDPRT#, 
 t01.idsfx#, 
 T01.IDSHP#, 
 T01.IDNTU$, 
 T01.IDENT#, 
 (T01.IDNTU$ * T01.IDSHP#) AS LINTOT,
 T02.IAPTWT, 
 T02.IARCC3,             
 T02.IAPRLC, 
 T03.PHVIAC, 
 T03.PHORD#,
 PHSFX#,
 T01.IDORDT,                    
 T01.IDHCD3 
FROM PRODTA.OEINDLID T01 
INNER JOIN PRODTA.ICPRTMIA T02 ON T01.IDPRT# = T02.IAPRT# 
INNER JOIN 
  (SELECT DISTINCT 
    PHORD#,
    PHSFX#, 
    PHVIAC, 
    PHWGHT 
  FROM proccdta.pshippf) AS T03 ON t01.idord# = T03.phord# 
WHERE T01.IDHCD3 IN ('MDL','TRP')

person user1086533    schedule 25.02.2015    source источник


Ответы (1)


Я не совсем понимаю, о чем вы спрашиваете, и похоже, что некоторые имена столбцов отсутствуют в вашем описании, но это должно приблизить вас:

CREATE VIEW Prolib.SHPWEIGHTP AS 
  SELECT T01.IDORD#, 
         T01.IDDOCD,
         T01.IDPRT#, 
         t01.idsfx#, 
         T01.IDSHP#, 
         T01.IDNTU$, 
         T01.IDENT#, 
         ( T01.IDNTU$ * T01.IDSHP# ) AS LINTOT , 
         T02.IAPTWT, 
         T02.IARCC3,
         T02.IAPRLC, 
         T03.PHVIAC, 
         T03.PHORD#,PHSFX#,
         T01.IDORDT,
         T01.IDHCD3,
         t04.ads15
    FROM PRODTA.OEINDLID T01
   INNER JOIN PRODTA.ICPRTMIA T02
      ON T01.IDPRT# = T02.IAPRT#
   INNER JOIN (SELECT DISTINCT 
                      PHORD#,
                      PHSFX#, 
                      PHVIAC, 
                      PHWGHT
                 FROM proccdta.pshippf) AS T03
      ON t01.idord# = T03.phord#
    JOIN prodta.adres1 as t04
      on t04.adent# = t01.adent#
     and t04.adsfx# = t01.adsfx#
    JOIN prodta.oeord1 t05
      on t05.odgrc# = T01.IDENT# || T01.SUFFIX
   WHERE T01.IDHCD3 IN ('MDL','TRP') 

Дайте мне знать, если вам нужна дополнительная информация.

ХТХ!

person DaveSlash    schedule 26.02.2015