我想从sap的数据库中把凭证全部取出是不是从这六张表中取 BSAS ,BSIS ,BSAD ,BSID ,BSAK ,BSIK
我先把上面的六张表Union All 然后在select 我要的内容,但是取出的凭证有充分的记录不知如何解决,请高手赐教,谢谢!
具体sql如下:
select BUDAT,MONAT,BLART,BELNR,
substr(hkont, length(hkont) - 9, 10),DWLNR,sgtxt,case when shkzg = 'S' then dmbtr else 0 end,
case when shkzg = 'H' then dmbtr else 0 end,buzei
from (
select BUDAT,MONAT,BLART,BELNR,hkont,'' DWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSAS
where gjahr = '2007' and MONAT between '01' and '16'
Union All
select BUDAT,MONAT,BLART,BELNR,hkont,'' DWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSIS
where gjahr = '2007' and MONAT between '01' and '16'
Union All
select BUDAT,MONAT,BLART,BELNR,hkont,KUNNR DWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSAD
where gjahr = '2007' and MONAT between '01' and '16'
Union All
select BUDAT,MONAT,BLART,BELNR,hkont,KUNNR DWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSID
where gjahr = '2007' and MONAT between '01' and '16'
Union All
select BUDAT,MONAT,BLART,BELNR,hkont,LIFNR DWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSAK
where gjahr = '2007' and MONAT between '01' and '16'
Union All
select BUDAT,MONAT,BLART,BELNR,hkont,LIFNR DWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSIK
where gjahr = '2007' and MONAT between '01' and '16') v
group by BUDAT,MONAT,BLART,BELNR,buzei,hkont,sgtxt,DWLNR,shkzg,dmbtr
order by 3,4,5,v.buzei
|