2016-04-29 11 views
0

Im Folgenden finden Sie Beispieldaten und erwartete Ergebnisse:Wie trennt man Daten von einer Spalte in mehrere Spalten?

Tabelle 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 

Abfrageergebnisse:

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 

Meine aktuelle Abfrage:

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

Aber unten Ergebnis zu erzielen

enter image description here

+1

Keine Beziehungen zwischen den Zeilen A und B? – jarlh

+0

Was ist das erwartete Ergebnis, wenn es eine andere A-Zeile gibt, z. B. (7, 0.85, 1, A)? – jarlh

+0

(7,0,85,1, A, null, null, null, null) – user3090790

Antwort

0

Try this, erstellen Sie zwei (eine row_number() hier i verwendet wird) die gleiche Tabelle.

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

Vielen Dank, Sie sparen meine Zeit – user3090790

0

Sie mit einem inneren versuchen können Untersätze Feed = 'A' und Feed = 'B' und verbinden sie mit einzigartigen Joinspalte

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' 
Verwandte Themen