Twilo: SQL Befehl klappt nur, wenn in allen Tabellen Inhalt ist

Beitrag lesen

Hallo,

ich habe 3 Tabellen, diese Abfrage
in der Tabelle kommentare sind die kommentare für die Tabellen anzeige und ereignis

zur Zeit hat nur die Tabelle ereignis nur Inhalt, die Tabelle anzeige ist noch leer

bei kommentare._art steht deshalb auch überall "ereignis" drin
ich bekomme aber kein Datensatz ausgespuckt :-(
wenn ich jetzt in der Tabelle "anzeige" ein Datensatz anlege (es ist egal, ob der Datensatz als gelöscht oder als nicht freigeschaltet markiert), dann bekomme ich auf einmal 10 Datensätze zurück
warum ist das so?

wie bekomme ich es hin, dass ich auch ein Ergebnis bekomme, wenn die andere Tabelle leer ist?

hier der SQL Befehl
SELECT DISTINCT kommentare._id, kommentare._parent_id, kommentare._art, kommentare._name
FROM kommentare, ereignis, anzeige
WHERE kommentare._freigeschaltet = "1"
AND kommentare._geloescht = "0"
AND
(
  (
    kommentare._art = "ereignis"
    AND ereignis._id = kommentare._parent_id
    AND ereignis._geloescht = "0"
    AND ereignis._freigeschaltet = "1"
  )
  OR
  (
    kommentare._art = "anzeige"
    AND anzeige._id = kommentare._parent_id
    AND anzeige._geloescht = "0"
    AND anzeige._freigeschaltet = "1"
  )
)
ORDER BY kommentare._id DESC
LIMIT 10

_geloescht und _freigeschaltet sind enum Felder enum('0','1')
_geloescht = "0" <--- nicht gelöscht
_freigeschaltet = "1" <--- freigeschaltet

mfg
Twilo