如何在SQL中使用distinct和group by?

时间:2018-02-15 19:48:40

标签: sql ms-access group-by distinct

我有一个连接多个表的查询,我需要获取表格的项目数,但是表details_bills使得Count函数的结果更大。但是,如果我在该字段中写出不同的内容,我就会收到错误。

查询

?- L=[4,5], X in 1..3, length(L, X), L ins 1..5.
L = [4, 5],
X = 2.

如何在" Count(bill.Id)AS bill_counts"中获得正确的数字?场?

2 个答案:

答案 0 :(得分:0)

我会使用A[0]来避免重复

EXISTS

答案 1 :(得分:0)

MS Access不支持SELECT DISTINCT。一个简单的更改是将详细信息表的连接移动到EXISTS子句:

SELECT b.Periodo, Count(*) AS bill_counts
FROM bill AS b 
WHERE EXISTS (SELECT 1
              FROM details_bill as db
              WHERE b.Comprobante = db.Comprobante AND
                    b.Suc = db.Suc AND
                    b.Numero = db.Numero
             )
GROUP BY bill.Periodo;