優先順位で寄せる

こういうテーブルのデータ

コード,ソース,タイプ
001,インターネット,A
001,インターネット,B
001,街頭,A
002,インターネット,C
002,街頭,A
002,電話,B
003,電話,B
003,電話,C

から

コード,ソース,タイプ
001,インターネット,A
002,インターネット,C
003,電話,B

という結果をSELECTしたいんです.ようするにコード1つにつき1レコードにまとめたいんです.で,まとめるときに

  1. まずはソースを見てインターネット>街頭>電話の優先順位で1つにまとめる
  2. 同じソース立った場合は,タイプを見てA>B>Cという優先順位でまとめる

というルールがあります.
できそうでわからん……どうしたらいいのかな.テンポラリを切っちゃえば簡単だと思うけれど使わずに書きたいのです.ひろしくんがズバっと答えを書いてくれることを期待.

MINのなかでWHEN〜CASEを書いてソースを数字に置き換えてから,ソートしてその後に,数字をソース文字列に戻す?(めんどくさそうだ……)