sqlを学習してる学生です。sqlの理解を深める為にお力をかして下さい!
meiboというテーブルのカラム
name
生徒の名前のみ書かれている。
seisekiというテーブルのカラム
name
kokugo
sugaku
eigo
rika
syakai
nen
tsuki
hi
meiboにあるnameと同じ名前のnameで一人につき、複数のレコードで保持。(何個保持されているかはバラバラ)。kokugo,sugaku,eigo,rika,syakaiはnullの可能性もあり
出力したいこと
name,kokugo,sugaku,eigo,nen,tsuki,hiの情報を、各nameそれぞれ最新のレコードを一つだけを出力したい。(nen,tsuki,hiは数字で保持されている。そこで最新かを判断する)
条件
①kokugo,sugaku,eigoについては2項目以上何か数字が入っていなければ、2つ以上数字が入っている過去最新のレコードからkokugo,sugaku,eigoの値をセットで取って表示。
②rika,syakaiについては、最新のレコードに値がなければ過去最新のレコードから値をそれぞれ取ってくる。(セットではない)
奮闘しておりますが、つまずいております。
ご存知の方いらっしゃったら教えて下さい!
コメント(1件)
.
3つクエリを作成して
ア.条件①kokugo,sugaku,eigo を 求める
まずここまでやって、
↑のクエリと下2つイとウをつなげたり、テンポラリの中間テーブルに書いたりするのはSQLの学習・勉強なのでダメですよね。
イ.②rika ア.の最新レコードに値がなければ過去最新のレコードを探し値
ウ.②syakai ア.の最新レコードに値がなければ過去最新のレコードを探し値