Ik heb ‘n query met subquery van de volgende vorm:
SELECT * FROM tabel1 WHERE var1 = (SELECT var2 FROM tabel1 = var3);
De query speelt dus geheel binnen één tabel (tabel1).
Dit werkt uitstekend in MySQL5 (de eigenlijke query is zelfs ca 25 diep….)
In MySQL4.22 (de versie die door mijn provider wordt aangeboden) krijg ik op deze query een parser error (1064).
In het MySQL manual staat in het hoofdstuk “Restrictions on Subqueries” de volgende zin:
“Subqueries in the FROM clause cannot be correlated subqueries. They are materialized (executed to produce a result set) before evaluating the outer query, so they cannot be evaluated per row of the outer query.”
Het lijkt erop dat hier staat dat het soort subquery dat ik toepas niet wordt ondersteund.
Maar echt duidelijk vind ik de tekst niet. Kan iemand mij uitsluitsel geven?……
727 views