我正在尝试创建一个查询,允许我按照不属于所咨询的表的字段对结果进行分组。
拥有以下关联
在这种情况下,故障单表中有一个名为status的字段,我需要对该字段执行求和,并按协调名称对结果进行分组。 仅对有票证的用户进行协调。
我正在尝试以下查询:
SELECT
c.name,
SUM(CASE
WHEN t.status = 'open' THEN 1
ELSE 0
END) 'open',
SUM(CASE
WHEN t.status = 'pending' THEN 1
ELSE 0
END) 'in progress',
SUM(CASE
WHEN t.status = 'closed' THEN 1
ELSE 0
END) 'closed'
FROM
tickets t,
users u,
user_coordinations uc,
coordinations c
GROUP BY 1
这是我得到的结果
这个结果看起来像我的预期,但没有考虑到只接受有票的用户协调的条件
请检查此SQL小提琴:http://sqlfiddle.com/#!9/9ed08/1
感谢您的时间
我想指出答案已经找到,使用显式连接解决了问题,因为我在评论中建议,sql fiddle中的示例显示正确的查询。谢谢你的帮助。