gyzsuper 发表于 2011-4-17 19:04:11

关于sap凭证表BSAS ,BSIS ,BSAD ,BSID ,BSAK ,BSIK

我想从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
wheregjahr = '2007'and MONAT between '01' and '16'
Union All
select BUDAT,MONAT,BLART,BELNR,hkont,'' DWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSIS
wheregjahr = '2007'and MONAT between '01' and '16'
Union All
select BUDAT,MONAT,BLART,BELNR,hkont,KUNNR DWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSAD
wheregjahr = '2007'and MONAT between '01' and '16'
Union All
select BUDAT,MONAT,BLART,BELNR,hkont,KUNNR DWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSID
wheregjahr = '2007'and MONAT between '01' and '16'
Union All
select BUDAT,MONAT,BLART,BELNR,hkont,LIFNRDWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSAK
wheregjahr = '2007'and MONAT between '01' and '16'
Union All
select BUDAT,MONAT,BLART,BELNR,hkont,LIFNRDWLNR,sgtxt,shkzg,dmbtr,buzei from SAPPD1.BSIK
wheregjahr = '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

edcshn 发表于 2011-5-11 16:24:23

为什么不从BSEG(Item) 和BKPF(Head)中直接取数据 呢?都不用组合了.:D
页: [1]
查看完整版本: 关于sap凭证表BSAS ,BSIS ,BSAD ,BSID ,BSAK ,BSIK