1


統合された列として2行を表示するため のヘルプが
必要です問題を説明するためにこの画像を作成しましたご協力いただきありがとうございます ここに画像の説明を入力してください

4

2 に答える 2

3

2つの都市のみが必要な場合は、分析関数を使用するのが簡単かもしれません。

select distinct studentname
     , min(city) over ( partition by studentname ) as city1
     , min(street1) over ( partition by studentname ) as street1
     , case when min(city) over ( partition by studentname ) 
                  <> nvl( max(city) over ( partition by studentname ), 'x')
              then max(city) over ( partition by studentname ) end as city2
     , case when min(street) over ( partition by studentname ) 
                  <> nvl( max(street) over ( partition by studentname ), 'x')
              then max(street) over ( partition by studentname ) end as street2
  from my_table

私はあなたがおそらくこれをするべきではないことを付け加えなければなりませんが。学生が3つの住所を持っている場合はどうなりますか?

于 2012-04-13T16:15:05.207 に答える
2

私はあなたがこれについて考えている方法は正しいものではないと思います。

「Ted」の2行を返し、ビュー/レポートコードを使用して出力を操作する必要があります。これははるかに簡単で、要件が変更された場合にビュー/レポートを非常に高速に変更できます。

于 2012-04-13T14:53:25.453 に答える