内部結合に関する投稿はたくさんありますが、それが私の問題を完全に解決するかどうかわかりませんか?
結合したい 4 つのテーブルがあり、最初の 3 つが正しいと思われます。4 番目のテーブルを結合すると、結合によって行が乗算されます (テーブル AB * テーブル C)。
4 番目のテーブルには 37 行しかありませんが、1 番目のテーブル (tblawardedlearers) で数回繰り返される viewunitsonrun.strUnitCode に従って、各行を具体的に数回挿入する必要があります。
SELECT viewlearnersonrun.intRunID,
intlearnerID,
strFirstname,
strunitcode,
strGrade
FROM tblawardedlearners
INNER JOIN viewlearnersonrun
ON viewlearnersonrun.intID = tblawardedlearners.intLearnerID
INNER JOIN viewrun
ON viewrun.intID = viewlearnersonrun.intRunID /*CORRECT TO THIS POINT */
INNER JOIN viewunitsonrun
ON viewunitsonrun.strUnitCode = tblawardedlearners.strUnitCode
WHERE viewlearnersonrun.intRunID = '200GE2' /* display only one Course */