0
Initially, I am getting an error " Column qualifier or table OEINDLID undefined. "

ここで行ったことは、Crystal Report によって作成された SQL を取得し、そこからビューを作成しようとすることです...

     CREATE VIEW astccdta.acsusage                                       
AS                                                                  
SELECT ICPRTMIA.IARCC9, OEINDLID.IDDOCD, OEINDLID.IDCOM#,           
ADRESSAD.ADSFX#, OEINDLID.IDPRT#, OEINDLID.IDGRC#, OEINDLID.IDENT#, 
OEINDLID.IDSFX#, OEINDLID.IDPRLC, OEINDLID.IDNTU$, OEINDLID.IDSHP#, 
ADRESSAD.ADFNM, ADRESSAD.ADLNM, OEINHDIH.IHVIAC, ADRESSAD.ADSTTC,   
OEINDLID.IDINV#, (                                                  
SELECT                                                              
    SUM (T01.IDNTU$)                                                
FROM                                                                
    ASTDTA.OEINDLID T01                                             
WHERE                                                               
    T01.IDCOM# = '001' AND                                          
    T01.IDDOCD = OEINDLID.IDDOCD AND                                
    T01.IDINV# = OEINDLID.IDINV# AND                                
    T01.IDPRLC LIKE 'F%'                                            

)
 FROM   (ASTDTA.OEINDLID                                      
INNER JOIN ASTDTA.ICPRTMIA ON OEINDLID.IDPRT#=ICPRTMIA.IAPRT#)
INNER JOIN (ASTDTA.ADRESSAD                                   
INNER JOIN ASTTRN.OEINHDIH ON ADRESSAD.ADENT#=OEINHDIH.IHENT#)
ON OEINDLID.IDIDC#=OEINHDIH.IHIDC#                            
 WHERE  ICPRTMIA.IARCC9='ACS'                                 
OEINDLID.IDCOM#='001'                                         
AND OEINDLID.IDPRT# LIKE 'ACS%'           
4

2 に答える 2

1

構文エラーがたくさんありましたが、これを試してください

CREATE or REPLACE VIEW astccdta.acsusage  AS                                     
  SELECT M.IARCC9
       , D.IDDOCD, D.IDCOM#           
       , A.ADSFX#
       , D.IDPRT#, D.IDGRC#, D.IDENT# 
       , D.IDSFX#, D.IDPRLC, D.IDNTU$, D.IDSHP# 
       , A.ADFNM, A.ADLNM
       , H.IHVIAC
       , A.ADSTTC   
       , OEINDLID.IDINV#
       ,(SELECT SUM (T.IDNTU$)                                                
           FROM ASTDTA.OEINDLID AS T                                             
           WHERE T.IDCOM# = '001'                                           
             AND T.IDDOCD = D.IDDOCD
             AND T.IDINV# = D.IDINV#                                 
             AND T.IDPRLC LIKE 'F%'                                            
        )
    FROM ASTDTA.OEINDLID AS D                                     
    JOIN ASTDTA.ICPRTMIA AS M   ON D.IDPRT# = M.IAPRT#
    JOIN ASTTRN.OEINHDIH AS H   ON D.IDIDC# = H.IHIDC#
    JOIN ASTDTA.ADRESSAD AS A   ON A.ADENT# = H.IHENT#
    WHERE  M.IARCC9 = 'ACS'                                 
      AND  D.IDCOM# = '001'                                         
      AND  D.IDPRT# LIKE 'ACS%'           

結合の括弧を取り除いたことに注意してください。オプティマイザーに仕事をさせてください。

于 2013-09-30T01:56:33.477 に答える