OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

SQL文について知恵をかしてください!

  • 困ってます
  • 質問No.183216
  • 閲覧数44
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 92% (78/84)

SQLについて皆さんのお知恵をかしてください

以下の表 tab01から Q01の結果を取り出すSQL文です
検索条件は以下の通り
1) 表tab01から、col1,col2,col3,col4 についてQ01へ出力
2) col2(char型)について "国語","算数","理科"を抽出
3) col4(date型)について「直近」の行のみ抽出
   但し、Q01.col2において同じ値が発生する場合は、tab01.col1の値が
   最も大きい行を抽出する(例:02,算数と10,算数)

この要件を満たすSQL文はどう書けばよいでしょうか?
なお、DBはoracle とします

tab01
col1 col2 col3 col4 
01  国語  80 20011211
02  算数  100 20011208
03  理科  80 20011201
04  国語  90 20011210
05  社会  100 20011209
06  算数  60 20011202
07  体育  80 20011205
08  国語  40 20011207
09  理科  70 20011210
10  算数  100 20011208

Q01
col1 col2 col3 col4
01  国語  80 20011211
10  算数  100 20011208
09  理科  70 20011210

どうかよろしくお願いいたします
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル11

ベストアンサー率 34% (97/285)

oracleは使用したことがないんですけど、下のSQLで大丈夫でしょう。
主キーはcol1と仮定しました。
------------------------------
select tab01.*
from tab01,
    (select max(col1) MaxCol1
    from tab01,
        (select col2,max(col4) MaxCol4
        from tab01
        where col2 in('国語','算数','理科')
    group by col2) A
    where (tab01.col2=A.col2) and (tab01.col4=A.maxcol4)
    group by tab01.col2)B
where tab01.col1=B.MaxCol1
--------------------------------
もっとすっきりしたSQLがあるんですどoracleで動くか分からないもので......。
お礼コメント
chaff

お礼率 92% (78/84)

舌足らずな説明にも関わらず、ご回答ありがとうございました。
参考になりました。
おかげさまで、徹夜が一回 回避できそうです
投稿日時 - 2001-12-13 00:27:09
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル9

ベストアンサー率 53% (41/76)

SELECT col2, MAX(col1), MAX(col4), col3, FROM tab01 WHERE col2 IN ('国語','算数','理科') GROUP BY col2, MAX(col1), MAX(col4) 出力されるカラムの順番が違いますがこれでお望みの出力が得られると思います。 後は出力側(帳票?) ...続きを読む
SELECT col2, MAX(col1), MAX(col4), col3, FROM tab01
WHERE col2 IN ('国語','算数','理科')
GROUP BY col2, MAX(col1), MAX(col4)

出力されるカラムの順番が違いますがこれでお望みの出力が得られると思います。
後は出力側(帳票?)で調節すればよいでしょう。
お礼コメント
chaff

お礼率 92% (78/84)

舌足らずな説明にも関わらず、ご回答ありがとうございました。
投稿日時 - 2001-12-13 00:25:17


このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ