@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

sqlを教えてください

1
投稿者投稿内容
ヒデ
会議室デビュー日: 2007/07/12
投稿数: 1
投稿日時: 2007-07-12 19:17
テーブルAがあります。
内容は
KEY1  KEY2  KEY3 KEY4
----------------------------
001 01 1 AA
001 01 2 BB
001 02 1 SS
001 02 2 AA
001 02 3 CC
002 01 1 AA
002 01 2 BB


があったとき、KEY1別にKEY3のパターンでKEY4を取得するのですが
KEY3がKEY4の種類が異なり重複した場合は、
KEY2の若い番号のKEY4を取得するルールで
結果を以下のように表示するSQLをご教授願えますでしょうか

結果
KEY1 KEY3 KEY4
--------------
001 1 AA
001 2 BB
001 3 CC
002 1 AA
002 2 BB
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-07-12 20:32
ここは Insider.NET 会議室 です。
SQL の問題でしたら Database Expert 会議室 が適当ではないでしょうか?
http://www.atmarkit.co.jp/bbs/phpBB/viewforum.php?forum=26&7789

とはいえ、ただ単にSQLを教えてくださいといっても誰も相手にしてくれないでしょう。
どこまで理解していて、実際にどこがわからないかを書いたほうがいいと思います。
_________________
かるあ のメモスニペット
よっし〜。
ベテラン
会議室デビュー日: 2007/04/17
投稿数: 89
お住まい・勤務地: 北のほうの国
投稿日時: 2007-07-12 21:42
SQLSERVER(Transact-SQL) 他は知りません。

まずKEY1とKEY3でGROUP BYかけて
SELECT句内でKEY1とKEY3に一致するKEY2昇順のサブクエリを記述して
そのTOP 1 にあるKEY4を取得で抽出できます。荒削りだな。


かるあさんのおっしゃるように
Database Expert 会議室 が適当だと思われます。
1

スキルアップ/キャリアアップ(JOB@IT)