0

こんにちは!誰でもこのシナリオで私を助けてくれますか

表:コース

 Course id        Course_Name    Faculty  
  C001            Engineering    Computers  
  C002            Engineering    Electronics  
  C003            Medicine       Cardiology  
  C004            Medicine       Neurology   

私の要件は、コース名とコース ID を重複なく表示する必要が
あることです。期待される結果は次のようになります。

C001->エンジニアリング。

C003->医学。

クエリで個別に使用された場合、期待される結果が得られないため、誰でも解決策を提供できます。私はOracle 9iの初期段階にあります。

前もって感謝します。

4

2 に答える 2

0

各コース名の「最低」のコース ID (NLS 言語と並べ替え設定のため単純な定義ではありません) が必要であると仮定します。

select min(course_id) as course_id, course_name
from course
group by course_name;

奇妙な要件のように思えます。2 つの ID を持つ同じコースは、たとえ学部が異なっていても正しく聞こえず、本質的にランダムな学部を選んでいることになります。しかし、9i で学習するほど奇妙ではありません。現在サポートされているバージョンで学習してみませんか? 11gR2 は、個人使用は無料です。

現在のバージョンのを含む集約関数のドキュメントは次のとおりです。あなたが本当にそれに固執したいのであればmin9iバージョン。

于 2013-05-28T11:17:39.203 に答える
0

集約が必要です。グループ「Course_name」にはいくつかのマッピングがあるため、いずれにしても取得できるものは任意です。

select max('Course id'), 'Course_Name' from Course group by Course_Name
于 2013-05-28T11:18:30.107 に答える