Hier sind meine TabellenSuche Eigenschaften von Verfügbarkeit in fremder Tabelle mit MySQL
properties bookings
========== ==========
property_id booking_id
price property_id
city checkin_date
checkout_date
Ich habe zwei Tabellen, Eigenschaften und Buchungen für einen Verleih vor Ort. Ich möchte eine Suche nach Check-in-Datum, Check-out Datum, Preis und Ort. Es prüft die Verfügbarkeit von den ausländischen Tabellenbuchungen über die Property_id FK.
Grundsätzlich möchte ich es wie etwas sein:
SELECT property_id,price,city FROM properties
WHERE
price > 200,
city = "Toronto",
LEFT JOIN (
SELECT postid, COUNT(*) AS total
FROM bookings
WHERE checkin_date *** SOMEHTING HERE ****
ist schon falsch die oben Ich bin sicher. Ob ich linker Join oder innerer Join verwenden soll.
Schließen Sie die Ergebnisse mit der 'where' Klausel ab. Vielleicht 'SELECT property_id, Preis, Stadt FROM Eigenschaften als p innere Join Buchungen als b auf b.property_id = p.property_id WHERE p.Preis> 200, p.city =" Toronto "' Wenn Sie nur allgemein über die fragen verschiedene Join-Typen siehe: http://stackoverflow.com/questions/5706437/whats-the-difference-between-inner-join-left-join-right-join-and-full-join Auch dies scheint nur eine mysql zu sein Frage. – chris85
Oh, für das Datum hinzufügen und '? zwischen b.checkin_date und b.checkout_date' oder ähnlichem und binden Sie das Benutzerdatum. – chris85
Ihr Join muss vor Ihrer where-Klausel stehen, und where-Klauseln müssen mit "AND" oder "OR" verknüpft sein, nicht mit Kommas. Warum versuchen Sie das nicht in einer echten Datenbank? – halfer