Bekomme JOIN nicht hin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bekomme JOIN nicht hin

    Ich versuche ein wenig tiefer in MYSQL einzusteigen, dabei bin ich auf folgendes Problem gestoßen:

    Code:
    'zimmer'       'res'        
    +---+-------+  +--+---------------------+---+   
    |zid|name   |  |id|anreise   |abreise   |zid|
    +---+-------+  +--+----------+----------+---+
    | 1 |zimmer1|  | 1|2017-03-22|2017-03-24| 1 |
    | 2 |zimmer2|  | 2|2017-03-24|2017-03-25| 2 |
    +--+--------+  +--+----------+----------+---+
    Aufgabe: Zeige alle Zimmer die heute am 22.03.2017 NICHT belegt sind.
    Mit einer Unterabfrage bekomme ich das hin:

    PHP-Code:
    Select From zimmer
    Where NOT EXISTS 
    (
           
    SELECT res.* FROM res
                WHERE
    (( anreise <= CURDATE()) AND ( abreise CURDATE()))
                AND 
    zimmer.zid res.zid

    Ergebnis
    Code:
    'zimmer'     
    +---+-------+
    |zid|name   |
    +---+-------+
    | 2 |zimmer2|
    +--+--------+
    Mit meinem Join (ich hab verschiedenste Varianten versucht ) bekomme ich keine Datensätze zurück:

    PHP-Code:
    SELECT t1.* FROM zimmer t1 
          LEFT JOIN res t2 USING
    (zid)
    WHERE t2.zid IS NULL
    AND (( t2.anreise <= CURDATE()) AND ( t2.abreise CURDATE())) 
    Bedanke mich für Aufklärung

    Seballa

  • #2
    Versuch mal, den Datumscheck mit in die JOIN-Bedingung zu setzen.

    Code:
    SELECT t1.*
    FROM zimmer t1 
    LEFT JOIN res t2
        ON t1.zid = t2.zid AND (( t2.anreise <= CURDATE()) AND ( t2.abreise > CURDATE()))  
    WHERE t2.zid IS NULL

    Kommentar


    • #3
      Hallo mermshaus,

      vielen Dank für deinen Hilfe, es hat sofort geklappt!

      Grüße

      Seballa

      Kommentar

      Lädt...
      X