Vinzenz: Problem mit JOIN-Kommando

Beitrag lesen

Hallo Kalle,

Habe zwei Tabellen, beide haben ein Feld namens "nr"

d.h. der JOIN (die Verbindung) erfolgt über dieses Feld :-)

...

Auch der Versuch "SELECT termine.nr as termine_nr, * FROM ..." schlug fehl. Wie zum Teufel komme ich an "termine.nr" ?

...

SELECT * FROM termine INNER JOIN akt_orte ON ( akt_orte.breitengrad <= '49.7200401' AND akt_orte.breitengrad >= '49.5400601' AND akt_orte.laengengrad <= '8.45234' AND akt_orte.laengengrad >= '8.27236' AND termine.ort_nr = akt_orte.nr AND termine.loe_kz = 0 AND termine.intern_kz = 0 AND termine.tag >= '2003-01-10' AND termine.tag <= '2003-02-09' ) ORDER BY termine.tag, termine.uhr, termine.nr

Das was Du in der JOIN-Klausel stehen hast, ist eine Einschränkung Deiner Datensätze, die gehört normalerweise in die WHERE-Klausel:

SELECT * FROM termine
INNER JOIN akt_orte ON termine.nr = akt_orte.nr
WHERE ( akt_orte.breitengrad <= '49.7200401' AND akt_orte.breitengrad >= '49.5400601' AND akt_orte.laengengrad <= '8.45234' AND akt_orte.laengengrad >= '8.27236' AND termine.ort_nr = akt_orte.nr AND termine.loe_kz = 0 AND termine.intern_kz = 0 AND termine.tag >= '2003-01-10' AND termine.tag <= '2003-02-09' )
ORDER BY termine.tag, termine.uhr, termine.nr

Kurze Frage noch: Wie kommst Du überhaupt an akt_orte.nr. Dieses Feld ist in Deiner Abfrage nirgendwo vorhanden

Gruss,

Vinzenz