我正在尝试使用感知平均值进行选择。这些是我的表格:
tb_module
ID_MOD MODULE ID_PR
1 Module 1 1
2 Module 2 1
3 Module 3 2
tb_activity
ID_ACT ID_MOD ACTIVITY
1 1 Activity 1.1
2 1 Activity 1.2
3 2 Activity 2.1
4 2 Activity 2.2
tb_percentaje
ID_PERC ID_ACT PERCENTAJE
1 1 20
2 2 10
3 3 70
4 4 50
我QUERY
S中的一个是这样的----> WHERE ID_PRO = 1
(当模块有活动时):
ID_MOD MODULE AVG(PERCENTAJE)
1 Module 1 15
2 Module 2 60
但是,当模块没有活动时,------> WHERE ID_PRO = 2
。查询返回0行。
我该如何解决这个问题?
应该是这样的,WHERE ID_PRO = 2
ID_MOD MODULE AVG(PERCENTAJE)
3 Module 3 0
'0'因为没有活动。
答案 0 :(得分:1)
试试这个:
SELECT m.ID_MOD, m.MODULE, AVG(p.PERCENTAJE)
FROM tb_module m
LEFT JOIN tb_activity a ON m.ID_MOD = a.ID_MOD
LEFT JOIN tb_percentaje p ON a.ID_ACT = p.ID_ACT
WHERE m.ID_PRO = 2
GROUP BY m.ID_MOD