2016-04-29 5 views
0

は、サンプルデータであり、結果を予想:1つの列の結果から複数の列にデータを分割する方法はありますか?以下

表1:

out_number AMPS VA Feed 
1   0.00 0 A 
2   0.10 0 A 
3   0.15 0 A 
4   0.30 0 B 
5   0.40 0 B 
6   0.80 0 B 

クエリ結果:

out_number AMPS VA Feed out_number AMPS VA Feed 
1   0.00 0 A  4   0.30 0 B 
2   0.10 0 A  5   0.40 0 B 
3   0.15 0 A  6   0.80 0 B 

私の現在のクエリ:

select d1.*, d2.out_number, d2.AMPS,d2.VA,d2.Feed 
from #tbl1 d1 , 
    #tbl1 d2 
where d1.Feed = 'A' and d2.Feed = 'B' 

しかし、結果の下になって

012あなたが内部で試すことができ

enter image description here

+1

A列とB列の間には何の関係もありません。 – jarlh

+0

別のA行、たとえば(7、0.85、1、A)がある場合は、どのような結果になるでしょうか? – jarlh

+0

(7,0.85,1、A、null、null、null、null) – user3090790

答えて

0

に参加します。

SELECT * 
FROM ( SELECT row_number() over(order by AMPS) row_no, * 
      FROM @table1 t1 where t1.Feed = 'A') T1 
    INNER JOIN (SELECT row_number() over(order by AMPS) row_no, * 
       FROM @table1 t2 where t2.Feed = 'B') T2 
     ON T1.row_no = T2.row_no 
+0

ありがとう、あなたは私の時間を節約する – user3090790

0

は(私はここでrow_number()を使用)、これを試してみてください二つのサブセットFeed = 'A'Feed = 'B'を作成し、一意の列でそれらを結合同じテーブル

select d1.*, d2.out_number, d2.AMPS,d2.VA,d2.Feed 
from #tbl1 d1 
inner join #tbl1 d2 on d1.out_number = d.out_number 
where d1.Feed = 'A' and d2.Feed = 'B' 
関連する問題