同一张表上的多个联接相乘计数

问题描述

当我在同一个表上运行多个联接时,第一个联接似乎是唯一要通过的联接。

例如,我将得到如下结果:

ID,NAME,200,200
ID,150,150
ID,100,100

很明显,票证数量显然与时间输入计数不同。

select 
    contact.aid aid,(contact.data ->> 'FirstName') || ' ' || (contact.data ->> 'LastName') username,count(ticket) tickets,count(time) entries
from caches contact
inner join caches ticket
    on ticket.name = 'Ticket' and (ticket.data ->> 'CreatorResourceID')::numeric = contact.aid
inner join caches time
    on time.name = 'TimeEntry' and (time.data ->> 'TicketID')::numeric = ticket.aid
where 
    contact.name='Contact'
group by
    contact.aid,username
order by 
    tickets desc
;

我应该得到如下结果:

ID,421
ID,312
ID,152

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)