select * from (  
  SELECT UNIQUE 
         cddealer as cdDealer100_0_,
          nmdealer as nmDealer100_0_, 
          '' as dtPsi100_0_,
          '' as branchID100_0_, 
          '' as subBranc6_100_0_, 
          '' as channelID100_0_, 
          '' as subChann8_100_0_,  // 这里多了个逗号。
  FROM 
  ( SELECT * FROM ( SELECT /*+ USE_HASH(vi psi) */ vi.cd_dealer cddealer, vi.nm_dealer nmdealer, psi.dt_psi dtPsi, vi.nm_branch branch, vi.nm_sub_branch subBranchn,vi.nm_sales_grp salesGrp,  
  vi.nm_channel channel,vi.nm_sub_section subChannel   
   
 FROM
  t_subdealer_psi psi, v_report_dealer vi   
 WHERE 1 = 1   
  AND vi.cd_dealer = psi.cd_whole_seller   
  and psi.DT_PSI >= TO_DATE(?,'YY-MM-DD')  
  and psi.DT_PSI <= TO_DATE(?,'YY-MM-DD') ) WHERE 1 = 1 ) ) where rownum <= ?

解决方案 »

  1.   


    select * from 
    (  
      SELECT UNIQUE 
             cddealer as cdDealer100_0_,
              nmdealer as nmDealer100_0_, 
              '' as dtPsi100_0_,
              '' as branchID100_0_, 
              '' as subBranc6_100_0_, 
              '' as channelID100_0_, 
              '' as subChann8_100_0_  
      FROM 
      ( SELECT * FROM 
            (
             SELECT vi.cd_dealer as cddealer, 
                    vi.nm_dealer as nmdealer,
                    psi.dt_psi as dtPsi, 
                    vi.nm_branch as branch, 
                    vi.nm_sub_branch as subBranchn,
                    vi.nm_sales_grp as salesGrp,  
                    vi.nm_channel as channel,
                    vi.nm_sub_section as subChannel   
              FROM
                  t_subdealer_psi psi, v_report_dealer vi   
              WHERE 1 = 1   
              AND vi.cd_dealer = psi.cd_whole_seller   
              and psi.DT_PSI >= TO_DATE(?,'YY-MM-DD')  
              and psi.DT_PSI <= TO_DATE(?,'YY-MM-DD')
              )
         WHERE 1 = 1 
      ) 

    where rownum <= ?看看这个可以不。
      

  2.   

    select * from (  
      SELECT UNIQUE 
             cddealer as cdDealer100_0_,
              nmdealer as nmDealer100_0_, 
              '' as dtPsi100_0_,
              '' as branchID100_0_, 
              '' as subBranc6_100_0_, 
              '' as channelID100_0_, 
              '' as subChann8_100_0_,  // 这里多了个逗号。
      FROM 
      ( SELECT * FROM ( SELECT /*+ USE_HASH(vi psi) */ vi.cd_dealer cddealer, vi.nm_dealer nmdealer, psi.dt_psi dtPsi, vi.nm_branch branch, vi.nm_sub_branch subBranchn,vi.nm_sales_grp salesGrp,  
      vi.nm_channel channel,vi.nm_sub_section subChannel   
       
     FROM
      t_subdealer_psi psi, v_report_dealer vi   
     WHERE 1 = 1   
      AND vi.cd_dealer = psi.cd_whole_seller   
      and psi.DT_PSI >= TO_DATE(?,'YY-MM-DD')  
      and psi.DT_PSI <= TO_DATE(?,'YY-MM-DD') ) WHERE 1 = 1 ) ) where rownum <= ?