Kalle: Abfrage über 2 Tabellen klappt nicht

Beitrag lesen

Guten Tag,

meine Aufgabe ist es, in einer abgegrenzten geografischen Region Veranstaltungen zu finden. Ich probiere seit gestern nachmittag, zwei Tabellen gemeinsam abzufragen und kriegs nicht hin.

In der "akt_orte" sind Orte mit geografischer Länge und Breite. Der Unique Key ist "akt_orte.nr". Ich will nun Orte finden, deren Länge von ... bis ... und deren Breite von ... bis ... geht, also auf der Landkarte ein Rechteck:

SELECT nr from akt_orte WHERE
  (   akt_orte.breitengrad <= '".$nord."'
  AND akt_orte.breitengrad >= '".$sued."'
  AND akt_orte.laengengrad <= '".$ost."'
  AND akt_orte.laengengrad >= '".$west."' )

In der Tabelle "termine" sind Veranstaltungstermine mit Datum, Veranstaltungstyp usw. Unique Key ist "termine.nr". Ich suche einen bestimmten Zeitraum:

SELECT * from termine WHERE
  (   termine.tag          >= '".$tag_von."'
  AND termine.tag          <= '".$tag_bis."' )

Nun habe ich von der einen Abfrage die Orte der Region, von der anderen Abfrage bundesweit die Veranstaltungen des Zeitraums.

Wie komme ich zu der Schnittmenge ?

Unter ORACLE würde es so gehen, aber das funzt bei MySQL nicht:

SELECT * from termine WHERE
  (   termine.tag          >= '".$tag_von."'
  AND termine.tag          <= '".$tag_bis."'
  AND ort_nr IN (

SELECT nr from akt_orte WHERE
  (   akt_orte.breitengrad <= '".$nord."'
  AND akt_orte.breitengrad >= '".$sued."'
  AND akt_orte.laengengrad <= '".$ost."'
  AND akt_orte.laengengrad >= '".$west."' )
)

Habe schon den Hinweis auf JOIN bekommen, aber es will nicht.

Bin für jede Hilfe seehr dankbar.

Gruß aus Worms, Kalle