Kort svar:
- referencer til aliaser i SELECT-listen eller
- Aliaserede udtryk
Den eneste dokumentation, jeg har fundet om dette indtil videre, har været:https://bugs .mysql.com/bug.php?id=79549
I det link er der følgende:
[9. dec 2015 15:35] Roy Lyseng...Her er en længere baggrund for den oprindelige beslutning:
I modsætning til referencer til aliaser i underforespørgsler i WHERE-sætningen (og i GROUP BY, for den sags skyld), er der ingen grund (undtagen standardoverholdelse), til at vi ikke skal tillade referencer til aliaser i SELECT-listen , da de burde være tilgængelige i samme fase af forespørgselsudførelsen. Men understøttelsen i 5.6 var ret vilkårlig:
Givet dette:opret tabel t1(a int, b int),
Alias i SELECT-listen er ikke gyldigt:
select a+b as c,c+1 from t1;
Men i en underforespørgsel er reference til c gyldig:
select a+b as c,(select c+1) from t1;
Og underforespørgsel skal være efter definition af alias:
select (select c+1),a+b as c from t1;
Så det er nemt at sige, at understøttelse af referencer til aliaser i SELECT-listen var ret ad hoc. Ikke desto mindre vil vi forsøge at genimplementere den gamle løsning, men uden forsøg på at rydde op i de åbenlyse huller i understøttelsen af denne funktion. Men henvisning til aliaser i underforespørgsler i WHERE-sætningen vil ikke blive genimplementeret.
Jeg leder endnu efter dokumentation ud over fejlrapporten, der beskriver denne funktionalitet i standarddokumenterne; men indtil videre uden held.