有没有办法从BSID中选择一些字段,其中BUKRS-KUNNR-DMBTR的组合大于1.我认为下面的选择将起作用,但事实并非如此。
SELECT bukrs kunnr dmbtr COUNT(*)
INTO TABLE git_double
FROM bsid
WHERE bukrs = '1000' AND
blart = 'WP' AND
budat IN s_budat AND
gjahr IN s_gjahr AND
count(*) > 1
GROUP BY bukrs kunnr dmbtr.
有没有办法在1个选择中做到这一点? 谢谢
像aggregate functions这样的COUNT
的选择可以在HAVING
条款中完成
SELECT bukrs kunnr dmbtr COUNT(*)
INTO TABLE git_double
FROM bsid
WHERE bukrs = '1000' AND
blart = 'WP' AND
budat IN s_budat AND
gjahr IN s_gjahr
GROUP BY bukrs kunnr dmbtr
HAVING COUNT(*) > 1. " <==== HAVING after GROUP BY
有关信息,请参阅ABAP 7.40 SP05,您也可以使用host variables编写它:
SELECT bukrs, kunnr, dmbtr, COUNT(*) AS accd_count
INTO TABLE @DATA(git_double)
FROM bsid
WHERE bukrs = '1000' AND
blart = 'WP' AND
budat IN @s_budat AND
gjahr IN @s_gjahr
GROUP BY bukrs, kunnr, dmbtr
HAVING COUNT(*) > 1.