gpt4 book ai didi

mysql - 使用非关系表在mysql中加入3个表

转载 作者:搜寻专家 更新时间:2023-10-30 22:24:55 24 4
gpt4 key购买 nike

大家好,我有 3 个表 a、表 b、表 c

表a

id  | name   
1 | agent1
2 | agent2

表b

id  | action   
1 | product
2 | saving
3 | transfer
4 | sell

表c

 id | table_a | table_b | status | delay(sec)
1 | 1 | 1 | 2 | 10
2 | 1 | 2 | 2 | 5

预期输出

name    | action  | count  |avg(delay)
agent1 | product | 1 | 10
agent1 | saving | 1 | 5
agent1 | transfer| 0 | 0
agent1 | sell | 0 | 0
agent2 | product | 0 | 0
agent2 | saving | 0 | 0
agent2 | transfer| 0 | 0
agent2 | sell | 0 | 0

谁能告诉我如何实现预期的输出,因为我的 sql 不支持 outer join 所以我很困惑?

最佳答案

您可以使用以下解决方案,在 tableAtableB 上使用无条件的 INNER JOINLEFT JOINtableC 上:

SELECT tableA.name, tableB.action, COUNT(tableC.id) AS `count`, AVG(delay) AS delay
FROM (tableA, tableB) LEFT JOIN tableC ON tableA.id = tableC.table_a AND tableB.id = tableC.table_b
GROUP BY tableA.name, tableB.action
ORDER BY tableA.name, tableB.action

demo on dbfiddle.uk

关于mysql - 使用非关系表在mysql中加入3个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54436374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com