如何将数据从一列结果分成多列?

时间:2016-04-29 11:29:15

标签: sql sql-server

以下是样本数据和预期结果:

表1:

VARCHAR(max)

查询结果:

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

但要低于结果

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以尝试使用内部联接同一个表

 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'

答案 1 :(得分:0)

试试这个,创建两个子集Feed = 'A'Feed = 'B'并使用唯一列(我在这里使用row_number())加入它们。

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