我一直在尝试完成这个工会,在同一张桌子上的连接和嵌套选择,但我不能得到我需要的结果。多个选择与聚合在同一张桌子上
因此,要启动:所有我需要的数据是表1,其短版的结构是这样的:
OWNERIDVARCHAR(25)
supervisorIDVARCHAR(25 )
statusIDINT
样品的数据是:
john.smith | joe.blogs | 1
john.smith | joe.blogs | 1
john.smith | joe.blogs | 1
john.smith | joe.blogs | 2
jane.doe | joe.blogs | 1
jane.doe | joe.blogs | 1
jane.doe | joe.blogs | 1
jane.doe | joe.blogs | 1
billy.bob | mary.jane | 1
billy.bob | mary.jane | 2
我希望得到什么,以伪SQL将是:
SELECT ownerID, COUNT(*) as CountOne, COUNT(*) as CountTwo
FROM table1
WHERE supervisorID='joe.blogs'AND statusID=1
OR supervisorID='joe.blogs'AND statusID=2
GROUP BY ownerID
产生以下结果:
userID | countOne | countTwo
----------------------------------
john.smith | 3 | 1
----------------------------------
jane.doe | 4 | 0
明显的伪SQL没有权利工作,但正如我所说我尝试过使用UNION,JOIN在同一张桌子上,嵌套选择,并要求谷歌,但没有我产生会给我所需的结果:(
数据库正在使用PostreSQL。
_PostreSql_或_PostgreSQL_? –