Thomas Mang: komplexe mySQL Abfrage

Beitrag lesen

Hallo Spezialisten ;)

Mich plagt derweil eine grosse schwierigkeit

ich vereinfache es mal auf folgende tabellen:

fall
  id
  name

fall_historie
  id
  fall_id
  fall_beschreibung
  zeitpunkt

Sinn und zweck ist einfach eine Historie zu haben, wo Änderungen an einer Fallbeschreibung zu einem gewissen Zeitpunkt gespeichert werden

In fall_id steht klarerweise dieselbe id, wie in id der tabelle fall ;)

Nun gebe ich über ein PHP Skript einen zeitpunkt an (nennen wird mal $zeitpunkt ;o)  ) und ich hätte gerne eine mySQL Abfrage, die mir den Namen des Falles anzeigt, und die Beschreibung wie sie zuletzt war VOR $zeitpunkt ... Und das dann zudem noch für ALLE Fälle in Fall mit einer DB Abfrage. Geht sowas??

zwar krieg ich _einen_ passenden datensatz mit:

SELECT f.name, h.beschreibung
FROM fall AS f, fall_historie AS h
WHERE f.id = h.fall_id AND $zeitpunkt > h.zeitpunkt
ORDER BY zeitpunkt
LIMIT 0,1

2 Sachen wo ich nicht wirklich durchblicke sind LEFT JOIN und der Unterschied zwischen HAVING und WHERE ... Falls mir eins von den 2 hier helfen sollte, wär ich froh um ne kleine Erklärung, warum sie das tun, was sie tun ;)