Daniela Koller: MySQL filtern einer tabelle gegen eine andere tabelle

Beitrag lesen

Hi Ilja

SELECT u.id, u.bedrooms, u.capacity
FROM units AS u
WHERE
bedrooms >= $bedrooms AND
capacity >=$persons

aber immer, wenn ich die andere tabelle mit ins spiel bringen will, komme ich nicht so richtig auf die richtige idee. left joins, inner joins beides versucht, beides nicht hinbekommen.

LEFT OUTER JOINS waren durchaus die richtige Idee, allerdings dachte ich, du hättest das ganze jetzt anders gelöst, ist ja schliesslich das selbe wie vor einer guten Woche.

Die Idee ist, du holst dir alles was belegt ist dazu und
alles wo es nicht belegt ist, kriegst du NULL in der ID-Spalte aus Tabelle b, alles was da NULL hat, ist jetzt dein Freund.

SELECT u.id, u.bedrooms, u.capacity
  FROM units AS u
    LEFT OUTER JOINS tab2 AS b
         ON (id = id
             AND bedingungen_fuer_gerade_belegt)
  WHERE bedrooms >= $bedrooms
    AND capacity >=$persons
    AND ISNULL idspalte_aus_tab_b

Wie das isnull ganz genau heisst in MySQL hab ich vergessen, musst du eben nachschlagen wenns nicht klappt.

Gruss Daniela

--
Nein, wir frieren unsere Hühner nicht auf Gletschern fest.
Selfcode: sh:) fo:) ch:) rl:) br:> n4:| ie:{ mo:) va:) de:] zu:} fl:( ss:) ls:&