在访问中-我想显示一个查询,它为用户提供这两个查询的结果,因此查询结果为状态,CountOfSP,CountOfUsers
当前要获取信息,我们运行两个单独的查询
Select State, Count(userID) As CountOfUsers
From SalesData
Group By State
Order By State;
然后我们的第二个查询是
Select [%$##_Alias].State, Count(salesPerson) As CountOfSalesPerson
From
(
Select distinct salesPerson, State
From salesData
) AS [%$##@_Alias]
Group By [%$##@_Alias].State
Access sql中是否有一种方法可以组合这两个查询,以便我可以从一个查询中获取所有我需要的数据?
编辑我尝试了这种语法,但是它给了我很大的数字,并且CountOfUsers和CountOfSalesPerson的计数完全相同
SELECT salesData.State, Count(salesData.userID) AS CountOfUsers, C
ount(Regioninfo.salesPerson) AS CountOfSalesPerson
FROM salesData
LEFT JOIN
(
Select distinct salesPerson, State
From salesData
group by Region, salesPerson
) AS Regioninfo ON salesData.State = Regioninfo.State
GROUP BY salesData.State
ORDER BY salesData.State;
Select State, Count(userID) As CountOfUsers, Count(stateinfo.salesPerson) As CountOfSalesPerson
From SalesData
left join (
Select distinct salesPerson, State
From salesData
group by state
) AS stateinfo on statedata.state = stateinfo.state
Group By Region
Order By Region;
;with t as
(
Select [%$##_Alias].State, Count(salesPerson) As CountOfSalesPerson
From
(
Select distinct salesPerson, State
From salesData
) AS [%$##@_Alias]
Group By [%$##@_Alias].State
)
Select State, Count(userID) As CountOfUsers, t.CountOfSalesPerson
From SalesData s
left join t on t.state = s.state
Group By Region
Order By Region;