Ich habe eine Abfrage mit mehreren joins
. Ich muss ein Feld von einem table
mit einem Feld einer Sekunde vergleichen. Wenn das erste Feld kleiner als das andere ist, muss ich das erste Feld mit dem zweiten Feld überlagern. Kann dies mit einer case- oder if-Anweisung geschehen? Die Abfrage extrahiert Daten und erstellt dann eine Ergebnismenge mit mehreren Zeilen in einer Zeile. die PK ist unique_key, linexVergleichen Sie zwei Felder, die eines der Felder basierend auf dem Ergebnis aktualisieren
Beispiel:
unique_key, LINE1, person_id, service_date, Menge unique_key, line2, person_id, service_date, Menge unique_key, line3, person_id, service_date, Menge
Select t1.Unique_key, t1.linex, t1.person_id,t1.service_date, t1.amount, t2.service_date, t2.amount, t3.service_date, t3.amount
from tbl1 t1
left join tbl2 t2
on t1.unique_key = t2.unique_key
left join tbl3 t3
on t1.unique_key = t3.unique_key
Ich brauche update
das erste Service-Datum mit dem zweiten, wenn das zweite größer als das erste ist.
Die Abfrage ist komplexer als diese.
Was bedeutet das? 'Die Abfrage extrahiert Daten und erstellt dann eine Ergebnismenge mit mehreren Zeilen in einer Zeile. –