我正在研究一个SQL查询,而且我在连接中完全迷失了自己。希望你能够提供帮助:)
我的问题是,单独表中的行不会合并为一行,它们都具有相同的ID。很长一段时间,加入对我来说很困惑,所以任何帮助都会受到高度赞赏。
我有以下表格:
Students
id
StudentCredits
sum_credits
StudentMandatoryCredits
branch_credits
program_credits
我正在尝试创建一个查询,它会给我这样的行:
id - sum_credits - branch_credits - program_credits
another_id - sum_credits - branch_credits - program_credits
a_third_id - sum_credits - branch_credits - program_credits
这是我能想到的最好的:
id - sum_credits - branch_credits - [empty]
id - sum_credits - [empty] - program_credits
这是我的SQL语句:
SELECT S.id, SC.sum_credits, SMC.branch_credits, SMC.program_credits
FROM Students S
LEFT JOIN StudentCredits SC ON S.id = SC.id
LEFT JOIN StudentMandatoryCredits SMC ON S.id = SMC.id
ORDER BY id
答案 0 :(得分:2)
尝试使用:
SELECT S.id, SUM(SC.sum_credits), SUM(SMC.branch_credits), SUM(SMC.program_credits)
FROM Students S
LEFT JOIN StudentCredits SC ON S.id = SC.id
LEFT JOIN StudentMandatoryCredits SMC ON S.id = SMC.id
GROUP BY S.id
ORDER BY S.id