2015-08-26 27 views
-1

“为”我收到上面提到的错误而执行对Teradata的工作室查询表达”)。“期待之一,在Teradata的

select 
     Union16.Item as Item, 
     Union16.Description as Description, 
     Union16.Nbr_Trans as Nbr_Trans, 
     Union16.Unit_price as Unit_price, 
     Union16.Amount as Amount, 
     MIN(Union16.Amount) as Total_Amount_ 

from (select  AL1.ticket_document_number as ticket_document_number, 
      AL1.transaction_code as transaction_code, 
      AL1.void_status as void_status, 
      AL1.transaction_date as transaction_date, 
      AL1.pnr_record_locator as pnr_record_locator, 
      AL1.settlement_base_fare_amt as settlement_base_fare_amt, 
      AL1.settlement_total_tax_amt as settlement_total_tax_amt, 
      AL1.Multiplier as Multiplier, 
      (AL1.Multiplier * 2) as Service_Incentive_Fee, 
      (AL1.Multiplier * 2) as Transaction_Fee, 
      (case when AL1.TRANSACTION_CODE = 'ET' and AL1.VOID_STATUS = 'N' then 1 
    when AL1.TRANSACTION_CODE = 'RF' and AL1.VOID_STATUS = 'N' then -1 
    else 0 
    end) as NetTrans, 
      0 as Comm_Amount, 
      SUM(1) as Total_Trans, 
      AL1.period_end_date as period_end_date, 
      SUM(NetTrans * 2) as Service_Fee_due, 
      AL1.airline_code as airline_code, 
      1 as Item, 
      (('Supplier Link Service Incentive Fee @ $' || '2') || '/Tix') as Description, 
      2 as Unit_price, 
      SUM(NetTrans * 2) as Amount, 
      SUM(NetTrans * 2) as Transaction_Fee_due, 
      SUM((NetTrans * 2) + (NetTrans * 2)) as Total_Due, 
      SUM(1) as Total_Total_Trans_, 
      SUM(NetTrans * 2) as Total_Service_Fee_due_, 
      SUM(NetTrans * 2) as Total_Transaction_Fee_due_, 
      SUM((NetTrans * 2) + (NetTrans* 2)) as Total_Total_Due_, 
      SUM(NetTrans) as Net_Trans, 
      SUM(NetTrans) as Total_Net_Trans_, 
      SUM(NetTrans) as Nbr_Trans 

    from (SELECT LAST_DAY(AL1.period_end_date) AS PEDHEADER, 
    AL1.TICKET_DOCUMENT_NUMBER as TICKET_DOCUMENT_NUMBER , 
(case when AL1.TRANSACTION_CODE = 'ET' and AL1.VOID_STATUS = 'N' then 1 
    when AL1.TRANSACTION_CODE = 'RF' and AL1.VOID_STATUS = 'N' then -1 
    else 0 
    end) as NetTrans, 

     (case 
    when AL1.VOID_STATUS = 'V' then 0 
    when AL1.VOID_STATUS <> 'V' and AL1.TRANSACTION_CODE in ('AT','ET') then 1 
    when AL1.VOID_STATUS <> 'V' and AL1.TRANSACTION_CODE = 'RF' then -1 
    when AL1.VOID_STATUS <> 'V' and AL1.TRANSACTION_CODE not in ('AT','ET','RF') then 0 
    end 
    ) as Multiplier, 
    AL1.TRANSACTION_CODE as TRANSACTION_CODE , 
    AL1.VOID_STATUS as VOID_STATUS, 
    cast(AL1.TRANSACTION_DATE as date) as TRANSACTION_DATE , 
    AL1.PNR_RECORD_LOCATOR as PNR_RECORD_LOCATOR , 
    AL1.SETTLEMENT_BASE_FARE_AMT as SETTLEMENT_BASE_FARE_AMT , 
    AL1.SETTLEMENT_TOTAL_TAX_AMT as SETTLEMENT_TOTAL_TAX_AMT, 
    cast(AL1.PERIOD_END_DATE as date) as PERIOD_END_DATE , 
    AL1.AIRLINE_CODE as AIRLINE_CODE, 
    airline_name as airline_name , 
     SUM (1) as Total_records, 
     0 as Total_comm_due, 
     SUM ((Multiplier * 2)) as total_serv_inc_fee, 
     SUM ((Multiplier * 2)) as total_trans_fee_due, 
     ((0 + SUM((Multiplier * 2))) + SUM((Multiplier * 2))) as Total_amt_due, 

       0 as Comm_Amount, 
     (Multiplier * 2) as Service_Incentive_Fee, 
     (Multiplier * 2) as Transaction_Fee, 
     1 as cntr 
    FROM ODS_VIEWS.BOP_ARC_SETTLEMENT AL1 
    LEFT OUTER JOIN 
    (select tabC.refvalcode, tabC.acct_cd, tabC.airline_name, tabC.refvaltm 
    from (select ref1.refvalcode , max(case when ref1.refvalattribcode='numericCode' then ref1.refvalvalue else null end) as acct_cd, 
        max(case when ref1.refvalattribcode='Codedescription' then ref1.refvalvalue else null end) as airline_name, 
        tabA.refvaltm 
      from bial.refvalue ref1, (select refvalcode, refvalvalue as airline_name, max(refvalueid) as "refvaltm" 
             from bial.refvalue 
             where refvalcodesetcode='Carrier' 
             and refvalattribcode='Codedescription' 
             group by refvalcode, refvalvalue) tabA 
      where tabA.refvalcode = ref1.refvalcode 
      and ref1.refvalcodesetcode='Carrier' 
      group by ref1.refvalcode, tabA.refvaltm) tabC 
    , 
      (select tabB.acct_cd, max(tabB.refvaltm) as "refvaltm" 
       from (select ref1.refvalcode , max(case when ref1.refvalattribcode='numericCode' then ref1.refvalvalue else null end) as acct_cd, 
          max(case when ref1.refvalattribcode='Codedescription' then ref1.refvalvalue else null end) as airline_name,tabA.refvaltm 
        from bial.refvalue ref1, (select refvalcode, refvalvalue as airline_name, max(refvalueid) as "refvaltm" 
                from bial.refvalue 
                where refvalcodesetcode='Carrier' 
                and refvalattribcode='Codedescription' 
                group by refvalcode, refvalvalue) tabA 
        where tabA.refvalcode = ref1.refvalcode 
        and ref1.refvalcodesetcode='Carrier' 
        group by ref1.refvalcode, tabA.refvaltm) tabB 
    group by tabB.acct_cd 
    ) tabD 
where tabC.refvaltm = tabD.refvaltm 
    and tabC.acct_cd = tabD.acct_cd 
) AIRDET 
    ON AL1.AIRLINE_CODE = AIRDET.acct_cd 
    WHERE cast(AL1.PERIOD_END_DATE as date) BETWEEN 01-01-2015 AND 31-01-2015 
    AND AL1.FILE_TYPE='AM' 
    AND AL1.SUPPLIER_LINK_INDICATOR='D' 
    AND AIRLINE_NAME = 'Alaska Airlines' 

    AND AL1.oltp_deleted_timestamp IS NULL 

    group by 
AL1.period_end_date , 
    AL1.TICKET_DOCUMENT_NUMBER, 
NetTrans , 
Multiplier , 
    AL1.TRANSACTION_CODE, 
    AL1.VOID_STATUS, 
    AL1.TRANSACTION_DATE, 
    AL1.PNR_RECORD_LOCATOR, 
    AL1.SETTLEMENT_BASE_FARE_AMT, 
    AL1.SETTLEMENT_TOTAL_TAX_AMT, 
    AL1.AIRLINE_CODE, 
    airline_name, 
     Total_comm_due, 
    Comm_Amount, 
     Service_Incentive_Fee, 
     Transaction_Fee, 
     cntr, 
AL1.oltp_deleted_timestamp, 
AL1.SUPPLIER_LINK_INDICATOR, 
AL1.FILE_TYPE, 
AL1.AIRLINE_CODE 
) 
) Union16 
group by 
     Union16.Item, 
     Union16.Description, 
     Union16.Nbr_Trans, 
     Union16.Unit_price, 
     Union16.Amount 
order by 
     Item asc, 
     Description asc; 
+0

失踪派生表我们是不是人类的编译器。将代码剥离为最小的正在运行的查询,然后重新添加,直到找到错误。 – OldProgrammer

回答

0

只要你在查询编辑器密切关注。您会注意到Teradata Studio标记错误的位置。

有一个别名之前) Union16