Heim > Datenbank > MySQL-Tutorial > Wie rufe ich nicht stornierte Reservierungsdatensätze aus einer Datenbank ab?

Wie rufe ich nicht stornierte Reservierungsdatensätze aus einer Datenbank ab?

Mary-Kate Olsen
Freigeben: 2025-01-23 19:46:44
Original
670 Leute haben es durchsucht

How to Retrieve Uncancelled Reservation Records from a Database?

Abrufen nicht stornierter Reservierungsdatensätze

Angesichts der beiden Tabellen „reservation“ und „reservation_log“, in denen „reservation“ allgemeine Reservierungsinformationen enthält und „reservation_log“ Änderungen an Reservierungen (einschließlich Stornierungen) verfolgt, ist die Aufgabe besteht darin, Reservierungen zu extrahieren, die nicht storniert wurden. Eine einfache WHERE-Klausel eignet sich effektiv zum Identifizieren stornierter Reservierungen, reicht jedoch bei der Suche nach nicht stornierten Datensätzen nicht aus.

Glücklicherweise können zwei Ansätze verwendet werden, um diese Aufgabe zu erfüllen:

Ansatz 1: Verwendung von NOT IN

Diese Methode nutzt die NOT IN-Klausel, um Reservierungen mit entsprechender Stornierung auszuschließen Datensätze.

SELECT *
FROM reservation
WHERE id NOT IN (
  SELECT reservation_id
  FROM reservation_log
  WHERE change_type = 'cancel'
);
Nach dem Login kopieren

Ansatz 2: Verwendung von LEFT JOIN

Ein alternativer Ansatz ist die Verwendung einer LEFT JOIN-Operation. Der Left Join ruft alle Zeilen aus der Reservierungstabelle ab und schließt entsprechende Zeilen aus der Tabelle „reservation_log“ ein, sofern vorhanden. Zeilen ohne übereinstimmende Stornierungsdatensätze haben NULL-Werte in den Spalten „reservation_log“. Die WHERE-Klausel kann diese Zeilen dann herausfiltern.

SELECT r.*
FROM reservation r
LEFT JOIN reservation_log l
  ON r.id = l.reservation_id AND l.change_type = 'cancel'
WHERE l.id IS NULL;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich nicht stornierte Reservierungsdatensätze aus einer Datenbank ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage