问题如下:我需要显示每位客户付款的编号(使用COUNT()
功能)(使用代码 codcli 列标识),但已过滤由某些部门( tipope 列)。正如您在图像中看到的那样,数字显示但在各部门之间分开,而我希望每个客户只显示一次。
如何在不分割付款的情况下进行过滤?
答案 0 :(得分:2)
也许我没有正确理解你的问题,但为什么不简单:
SELECT CODCLI, COUNT(*) AS SOMMA_BONIFICI
FROM MOV
WHERE TIPOPE IN ( 'VE5', ' VE9', 'PR5', 'PR9')
GROUP BY CODCLI
ORDER BY CODCLI;
答案 1 :(得分:0)
请勿在外部查询中包含分部(Tipope
),并在子查询中包含COUNT
。
SELECT CODCLI, SUM(SELECT COUNT(sub.CODCLI)
FROM mov sub
WHERE sub.TIPOPE = TIPOPE
GROUP BY sub.CODCLI) AS SOMMA_BONIFICI
FROM mov
WHERE TIPOPE IN ('VE5', ' VE9', 'PR5', 'PR9')
GROUP BY CODCLI
ORDER BY CODCLI
哪个会输出:
CODCLI SOMMA_BONIFICI
AA200078 16
AA200300 10
AA200412 3
AA200309 9