Access SQL查询返回计数字段的错误值
我正在尝试进行一个Access SQL查询返回计数字段的错误值,sql,ms-access,count,ms-access-2010,Sql,Ms Access,Count,Ms Access 2010,我正在尝试进行一个SQL查询,得到的是客户的姓名加上一列c,这是计数连接到客户的转介的行数。[客户ID]=转介。[转介自]和转介。[使用我们的服务]=True 第二列为ofc2,这是连接到客户的转介的行数。[客户ID]=转介。[转介自]和转介。[有效转介]=True 此查询工作正常,但在c2列中返回了错误的数字。它应该是1时返回2 SELECT Customers.[Customer ID], Customers.[First Name], Customers.[Last Name], Cou
SQL
查询,得到的是客户的姓名加上一列c
,这是计数连接到客户的转介的行数。[客户ID]=转介。[转介自]
和转介。[使用我们的服务]=True
第二列为ofc2
,这是连接到客户的转介的行数。[客户ID]=转介。[转介自]
和转介。[有效转介]=True
此查询工作正常,但在c2
列中返回了错误的数字。它应该是1时返回2
SELECT
Customers.[Customer ID], Customers.[First Name], Customers.[Last Name], Count(r.[Valid Referral]) AS c, Count(rr.[Used Our Service]) AS c2
FROM (Customers
INNER JOIN Referrals r ON Customers.[Customer ID] = r.[Referred From] AND (r.[Valid Referral])=True)
INNER JOIN Referrals rr ON Customers.[Customer ID] = rr.[Referred From] AND (rr.[Used Our Service])=True
WHERE (r.[Valid Referral])=True
GROUP BY Customers.[Customer ID], Customers.[First Name], Customers.[Last Name]
客户表:
转介表格:
结果表:
我建议您将SUM
与Iif
一起使用,而不是两次加入同一个表,如下所示:
SELECT
Customers.[Customer ID],
Customers.[First Name],
Customers.[Last Name],
SUM(Iif(r.[Valid Referral] = True, 1, 0)) AS c,
Sum(Iif(r.[Used Our Service] = True, 1, 0)) AS c2
FROM Customers
INNER JOIN Referrals r ON Customers.[Customer ID] = r.[Referred From]
WHERE (r.[Valid Referral])=True
GROUP BY Customers.[Customer ID], Customers.[First Name], Customers.[Last Name]