現在、次のクエリを実行しています (以下を参照してください)。ただし、実行すると、totalusers、activeusers、suspendusers の複数の行に対して同じ値が返されます。ただし、ログインの合計に関しては、値は一意です。彼らはこれが起こっている理由であり、問題を解決する方法です. postgre sqlドライバーでツールsql workbenを使用するのに役立つ場合。
乾杯
SELECT
company.companyStatus,
company.CompanyId,
company.companyName,
select
count(distinct UserID)
From Users
inner join company
on Users.CompanyID = Company.CompanyId
where Users.Companyid = company.Companyid
as TotalUsers,
select sum(case when userstatusid =2 then 1 else 0 end)
from users
inner join company
on users.companyid = company.companyid
where users.companyid = company.companyid)
as ActiveUsers,
select sum(case when userstatusid = 3 then 1 else 0 end)
from users
inner join company
on users.companyid = company.companyid
where users.companyid = company.companyid)
as SuspendedUsers,
(Select COUNT (distinct usersessionid)
From UserSession
inner join users
on usersession.UserID=users.UserID
where usersession.UserID=users.UserID
and users.companyid= company.CompanyID)
as TotalLogin,
from Company