Jörg: mysql-Query-Frage

Beitrag lesen

Hallo,

kann mir einer erklären, warum folgende Query das gewünschte Ergebnis bringt, während die Änderung auf ein Alias die Fehlermeldung "#1054 - Unbekanntes Tabellenfeld 'myMID' in where clause" bringt?

Läuft:

SELECT 
rz.RID,
rz.MID
FROM 
table1 rz JOIN table2 r ON rz.RID = r.RID
WHERE
r.Bart = 'R' AND
r.Rart  = 'A' AND
r.Erstelldatum > (
    SELECT 
    r2.Erstelldatum 
    FROM 
    table2 r2 JOIN table1 rz2 ON rz2.RID = r2.RID
    WHERE rz2.MID = rz.MID AND
    r2.Bart = 'R' AND
    r2.Rart  = 'R' AND
    r2.St = 0 AND
    r2.D = 1
    )

Bringt Fehler:

SELECT 
rz.RID,
rz.MID AS myMID
FROM 
table1 rz JOIN table2 r ON rz.RID = r.RID
WHERE
r.Bart = 'R' AND
r.Rart  = 'A' AND
r.Erstelldatum > (
    SELECT 
    r2.Erstelldatum 
    FROM 
    table2 r2 JOIN table1 rz2 ON rz2.RID = r2.RID
    WHERE rz2.MID = myMID AND
    r2.Bart = 'R' AND
    r2.Rart  = 'R' AND
    r2.St = 0 AND
    r2.D = 1
    )

Jörg