2017-02-01 10 views
-1

ich eine Abfrage, die Zeilen gibt mir gefällt diesesSQL verbinden Sie zwei Datensätze

CODE|FIELD1|FIELD2|FIELD3|FIELD4|FIELD5| 
A | DATA1| DATA2|  |  | XYZ | 
A |  |  | DATA3| DATA4|data5A| 

Ich würde

CODE|FIELD1|FIELD2|FIELD3|FIELD4|FIELD5| 
A | DATA1| DATA2| DATA3| DATA4|data5B| 

so etwas wie dieses mögen Wie kann ich das tun? 'Code' ist nicht eindeutig. Tatsächlich erzeugt diese Abfrage ein Ergebnis-Set mit mehreren Zeilen, damit ich jemand

Diese Abfrage
+0

Ist das 'code' Feld an jedes Paar einzigartig? – JohnHC

+0

Zeilen so? meinst du zwei reihen? – McNets

+0

Ich habe Hunderte solcher Zeilen..A ist nicht einzigartig, sorry –

Antwort

1

Ein netter Trick zu paaren haben, können Sie hier verwenden, ist die max (oder min) Aggregatfunktion zu verwenden - es wird null s ignorieren, so dass der einzige Wert in der Spalte würde auch der Maximalwert in der Spalte sein:

SELECT code, 
     MAX(field1) AS field1, 
     MAX(field2) AS field2, 
     MAX(field3) AS field3, 
     MAX(field4) AS field4, 
     MAX(field5) AS field5 
FROM  mytable 
GROUP BY code 
0

Verwenden

 

    SELECT 
     CODE, 
     MAX(FIELD1) AS FIELD1, 
     MAX(FIELD2) AS FIELD2, 
     MAX(FIELD3) AS FIELD3, 
     MAX(FIELD4) AS FIELD4, 
     MAX(FIELD5) AS FIELD5 
    FROM 
     TABLE 
    GROUP BY CODE 

+0

Funktioniert nicht, ich habe es versucht –

+0

was funktioniert nicht? erhältst du ein anderes Ergebnis? – Rakesh

+0

lol - also funktioniert das nicht, und die ** genaue ** gleiche Frage von jemand anderem gepostet wird als "korrekt" markiert? Wie geht das? – mathguy

Verwandte Themen