合体を使用して結果を生成しましたが、ヌル値で重複する行があります。以下のように合体でヌル値を避ける
サンプル表:NULL値の重複行がどこから来た
Table - Student
ID Student Subject id Subject Grade id
100 Peter 200 Chinese 201
101 Mary 300 English 302
102 Sam 400 Maths 403
103 John 900 Music
Chinese Table
Subject id Grade id Grade
200 201 Good
200 202 Average
200 203 Poor
English Table
Subject id Grade id Grade
300 301 Good
300 302 Average
300 303 Poor
Maths Table
Subject id Grade id Grade
400 401 Good
400 402 Average
400 403 Poor
Select Id, Name,
Coalesce (chinese.grade, english.grade, maths.grade)
from Student
Left join Chinese On student.id = Chinese.subjectId AND student.gradeId = Chinese.gradeId
Left join English On student.id = English.subjectId AND student.gradeId = Enlgish.gradeId
Left join Maths On student.id = Maths.subjectId AND student.gradeId = Maths.gradeId
Result
ID Student Subject Grade
100 Peter Chinese Good
100 Peter Chinese NULL
101 Mary English Average
101 Mary English NULL
102 Sam Maths Poor
102 Sam Maths NULL
103 John Music NULL
私はちょうど私が合体使って、null値を与える避けることができる方法を知りたい、わかりませんか?
あなたは私たちに完全なselect文を表示する必要があります。あなたが壊れた部分を表示していないとき何が間違っているかあなたに教えるのはちょっと難しいです。 – Hogan
こんにちはホーガン、上記の表を参考にしてください。 – GoodToBe1990
なぜ3つの異なるテーブルがありますか?すべてのクラスを同じテーブルに入れます。 – jarlh