0

私は 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
4

1 に答える 1

3

使用してみてください:

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
于 2012-11-22T22:00:30.590 に答える