Matti Maekitalo: Hilfe bei Select über 2 Tabellen

Beitrag lesen

Tach auch.

ich bräuchte Hilfe bei einer Abfrage.
Und zwar sollen bei dieser Abfrage nur Einträge aus 'ticket' gezeigt werden, die keinen verknüpften Eintrag in 'antwort' haben.
Hier meine Query:
select A.* from ticket A JOIN antwort B ON B.ticket != A.id WHERE A.status = 'open' order by A.timestamp asc

Leider erhalte ich die Einträge sogar doppelt, da es noch einen Eintrag in 'ticket' gibt (welcher nicht angezeigt wird) und 2 Einträge in der Tabelle 'antwort' hat.

Dieser einfache JOIN wird dich nicht weiterbringen. Versuche etwas in die Richtung (ungetestet):

  
SELECT A.*  
  FROM ticket A  
  WHERE NOT EXISTS (SELECT B.ticket FROM antwort B WHERE B.ticket = A.id)  

Mit deinem JOIN würde es so funktionieren:

  
SELECT A.*  
  FROM ticket A  
    LEFT OUTER JOIN antwort B ON B.ticket = A.id  
  WHERE B.ticket IS NULL  

Bis die Tage,
Matti