- - PR -
SQLの構文
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-09-07 00:22
特に、caseもdecodeも不要かと思います。 unionする時は行がユニークになるので、 重複行を許す場合はunion allとしなければいけません。 | ||||
|
投稿日時: 2005-09-07 10:21
ご指摘ありがとうございます
unionを使うSQLを修正ました OracleSQLパズル http://oraclesqlpuzzle.hp.infoseek.co.jp [ メッセージ編集済み 編集者: 重蔵 編集日時 2005-09-07 10:25 ] | ||||
|
投稿日時: 2005-09-07 10:38
これでも可能だと思います。
select a.Y,a.Z , COALESCE(b.val1, c.val1, d.val1) as val1 from テーブルA a left join テーブルB b ON a.Y = 1 AND b.Z = a.Z left join テーブルC c ON a.Y = 2 AND c.Z = a.Z left join テーブルD d ON a.Y = 3 AND d.Z = a.Z order by 1,2; | ||||
|
投稿日時: 2005-09-07 11:41
Y=1の時、Y=2の時、Y=3の時、いずれでもない時
の4通りに分けてからunionするよりも、 外部結合とcoalesceを組み合わせるほうがいいですね |