Frage : Anschluss

Gibt es irgendein Trick, zum eines ANSCHLUSS-Operators zu verwenden, um diese zwei Fragen zu kombinieren und DIE DUPLIKATE ZU BESEITIGEN, wenn die Werte in den ersten drei Spalten die selben sind, aber unterschiedlich in column4?

select „a“ column1, „b“ column2, „c“ column3, „merken 1“ column4 dual
union vom all
select „a“ column1, „b“ column2, „c“ column3, „merken 2“ column4 vom dual

result:
a b c Anmerkung 2

Need der Anmerkungs-1
a b c, zum nur der ersten Aufzeichnung zu erhalten und das 2. zu ignorieren:
a b c Anmerkung 1

Antwort : Anschluss

jeder Frage eine blinde Spalte geben, die sie einzigartig kennzeichnet
und row_number dann benutzen, um gerade den ersten Wert auszuwählen


Column1, column2, column3, column4 VORWÄHLEN
VON (x.*, ROW_NUMBER VORWÄHLEN () ÜBER (FACH DURCH AUFTRAG column1, column2, column3 DURCH Attrappe) rn
VON (1 Attrappe VORWÄHLEN, „a“ column1, „b“ column2, „c“ column3, „merken 1“ column4 VON DOPPEL
ANSCHLUSS ALLER
Attrappe 2 VORWÄHLEN, „a“ column1, „b“ column2, „c“ column3, „merken 2“ column4 VON DOPPEL) x)
WO rn = 1

Weitere Lösungen  
 
programming4us programming4us