Ich habe eine Tabelle mit etwa 100 Spalten und 30000 Zeilen. in etwa so aussehen:Zwei Spalten Bedingung in verschiedenen Zeilen in PostgreSQL
site_id cell_id sector_id value1 value2
1 1 1 70 23
1 2 1 40 20
1 3 1 67 35
1 5 2 42 60
1 6 2 65 30
1 7 2 62 62
2 11 1 67 11
2 12 1 45 22
2 13 1 65 15
Aus demselben sector_id eines site_id, wenn value1> = 65 als jede Cell_ID im selben Sektor mit value2 < 25 würde als "LOW_LOAD_CELL" eingestuft werden. gewünschte Ausgabe wäre:
site_id cell_id sector_id value1 value2 cell_status
1 1 1 70 23 LOW_LOAD_CELL
1 2 1 40 20 LOW_LOAD_CELL
1 3 1 67 35
1 5 2 42 60
1 6 2 65 30
1 7 2 62 62
2 11 1 67 11 LOW_LOAD_CELL
2 12 1 45 22 LOW_LOAD_CELL
2 13 1 65 15 LOW_LOAD_CELL
...
Ich weiß nicht, wie in SQL zu nähern, ehrlich. Ich habe es mit WHEN CASE versucht, aber ich stapelte, wenn ich Bedingung für value2 schreiben musste.
Ihre Beispieldaten entsprechen nicht Ihren Regeln. –
Wenn es eine letzte Zeile mit sector_id = 2 war, hattest du recht, ich habe es bearbeitet. Vielen Dank. – jovicbg
Das wird nicht helfen und es tut mir leid, aber ich denke Ihr Problem ist, dass Sie versuchen, unrelational Daten aus einer relationalen Datenbank mit einer Sprache zu erhalten, die relational Datenbanken (SQL) ... Ich wäre sehr überrascht, wenn Modell, das Beziehungen mit 100 Spalten enthält traf die dritte Normalform ... – Arkhena