2017-04-20 13 views
0

したがって、Productとインジケータの2つの列を持つTable1というテーブルがあります。PLSQL 1つの変数をクエリして2つの列に分割する

Table1 

Product Indicator 
Product 1  Y 
Product 1  Y 
Product 1  Y 
Product 1  N 
Product 1  N 
Product 2  Y 
Product 2  Y 
Product 2  Y 
Product 2  Y 
Product 2  Y 

と私は事前にこの

  Indicator = Y Indicator = N 
Product 1  Y    Y 
Product 2  Y    N 

おかげのような結果を表示するクエリを実行できるようにしたいです! :)

+0

なぜストアドプロシージャが必要だと思いますか? –

+0

@a_horse_with_no_name申し訳ありませんが、私はコーディングにかなり新しいですが、ストアドプロシージャはどういう意味ですか?私はどこかで "Indicator = Y"と "Indicator = N"として使う必要があると思っていましたか?それはあなたが参照しているストア手順ですか?それはストアプロシージャですか?私が間違っている場合は申し訳ありません。 – Oxy111

+0

Oracleにストアド・プロシージャを書き込むために使用されるPL/SQLで質問にタグを付けました。 –

答えて

4

これは、条件付き集計を使用してプレーンSQLで行うことができます。

select product, 
     case 
     when count(case when indicator = 'Y' then 1 end) > 0 then 'Y' 
     else 'N' 
     end as "Indicator = Y", 
     case 
     when count(case when indicator = 'N' then 1 end) > 0 then 'Y' 
     else 'N' 
     end as "Indicator = N" 
from table1 
group by product 
order by product; 
関連する問題