質問: b.社員番号 order by 所属番号 1 花子 1 花子 2 太郎 となってしまいます。 先に述べたとおりの結果を取得するにはどういうsqlを書いたらいいでしょうか? お知恵を貸してください。宜しくお願いします。 oracle8iを使用しています。
回答: >欲しい結果は、所属番号でソート 成るほど、分りました。 その場合は、どちらの所属番号でソートするのか決める必要があります。 例では花子の所属番号が両方とも太郎よりも若くなっていますが、もし太郎の番号が花子の番号の間に来たらどうしますか? 例えば所属番号が複数ある場合は大きい方を取る、という決まりにするなら select 社員番号, max(所属番号) as 所属番号の最大 from 所属テーブル group by 社員番号; とかで社員番号に対応する所属番号をひとつにして、これと社員テーブルを連結して「所属番号の最大」でソートしたらどうでしょうか。