Ich habe die folgenden Abfragen in meinen lokalen CF & Lucee-Servern verglichen. Der ColdFusion-Server löst einen QoQ-Laufzeitfehler aus. Wenn ich dieselben Abfragen in Lucee ausführe, werden jedoch die erforderlichen Abfrageergebnisse zurückgegeben.Warum berücksichtigt Lucee den Spaltenaliasnamen in QoQ nicht?
<cfquery name="getusers" datasource="myDSN">
SELECT
UC.UserContactName, U.UserID
FROM Users U
INNER JOIN UserContacts UC ON U.UserID = UC.UserID
WHERE U.UserID in (99,52,41,76,15)
</cfquery>
<cfquery name="getContactName" dbtype="query">
SELECT UserContactName FROM getusers
WHERE U.UserID = <cfqueryparam value="76" cfsqltype="cf_sql_integer">
</cfquery>
<cfdump var="#getContactName#" />
Der CF-Server führt diesen Fehler auf dem obigen Code, weil er den Namen alias hält:
Die ausgewählte Spalte Referenz U.UserID keine Tabelle in den FROM Tabellenliste überein.
Allerdings berücksichtigt der Lucee-Server den Aliasnamen nicht, ran läuft die oben genannten ohne Fehler. Weiß jemand, warum der Lucee-Server den QoQ-Spaltenaliasnamen nicht berücksichtigt? Bitte teilen Sie Ihre Gedanken oder Vorschläge dazu mit.