0

再帰で試した後、質問があります

私は2つのテーブルで試しています

最初のテーブルはcomplain_table

complain                   product_id
----------------------------------------
Not working          -          1
not working                     1
not working                     1
Loading problem                 2
Loading problem                 2

2番目のテーブルproduct_table

Name     id                      
--------------
usb      1
cd       2

今、私の望ましい出力は

product                complain
-----------------------------------
usb                   Not working
                      Not working
                      Not working
cd                    Loading problem
                      Loading problem
4

1 に答える 1

1

示されているような出力が必要な場合 (製品名の繰り返しを抑制)、次のようにする必要があります。

select case 
         when row_number() over (partition by p.name order by ct.complain) = 1 then p.name
         else null
       end as product,
       ct.complain
from products p
  join complain_table ct on p.product_id = ct.product_id
order by p.product_id;

ところで:同じ苦情のテキストを何度も繰り返すことを避けるために、テーブルを参照するcomplain_table必要があるように見えますcomplain_reason_idcomplain_reason_text

于 2013-11-11T08:00:19.930 に答える