Hallo,
ich habe eine Tabelle mit Zeilen der folgenden Form gegeben:
Spalte1 | Spalte2 | Spalte3 | Spalte4 | Spalte5 --------+---------+---------+---------+--------- 5 |aa |bbb |31 |18 12 |a |b |3 |7 23 |a |b |0 |1 25 |aa |bb |12 |19 71 |aa |bb |7 |5 82 |aa |bbb |15 |18
Ich möchte nun Zeilen zusammenführen, in denen Spalte2 UND Spalte3 übereinstimmen. Am Ende möchte ich eine Tabelle der Form
Spalte1 | Spalte2 | Spalte3 | Spalte4 | Spalte5 --------+---------+---------+---------+--------- 23 |a |b |3 |7 71 |aa |bb |12 |19 82 |aa |bbb |31 |18
erhalten. Diese Tabelle ergibt sich in dem man in Spalte1, Spalte4 und Spalte5 den maximalen Wert setzt, der in den Spalten vorkommt, in denen Spalte2 UND Spalte3 übereinstimmen und anschließend doppeltes Auftreten der Zeilen löscht. Es treten jeweils maximal zwei Zeilen auf, in denen sowohl Spalte2 als auch Spalte3 übereinstimmen. Die Werte aus Spalte1 sind immer dort kleiner oder gleich, wo die Werte aus Spalte 4 oder 5 größer oder glein sind. Die alte Tabelle soll durch die neue Tabelle überschrieben werden.
Ich hoffe ihr könnt mir eine Idee liefern, wie man das mit sqlite3 umsetzen kann.