Ich habe versucht, hier in SO für einen ähnlichen Fall suchen, aber ich kann nicht das richtige Suchergebnis finden. Mein Problem ist folgendes:.PHP MySQL Berechnung AS funktioniert nicht
Ich habe diese Abfrage, die eine Menge von Ergebnissen (net_salary
ist das Ergebnis der Subtraktion zwischen salary
und totaldeductions
Felder fein und zeigt Werke, die sowohl als float gespeichert sind, kann ich mich nicht erinnern, warum, aber ich brauchte sie als Schwimmer speichern):
SELECT name, address, city, state, zip_code, salary-totaldeductions as net_salary FROM employees WHERE state = 'CA' ORDER BY address ASC
Wenn ich versuche, es zu ändern, und fügen sie AND net_salary > 5000
die Seite/Rahmen wird leer:
SELECT name, address, city, state, zip_code, salary-totaldeductions as net_salary FROM employees WHERE state = 'CA' AND net_salary > 5000 ORDER BY address ASC
Ich habe versucht zu suchen, wo der Code fehlschlägt, es scheint if (mysqli_stmt_prepare($stmt, $MyQuery))
schlägt fehl. Die erste Abfrage funktioniert und net_salary
funktioniert, aber auf der zweiten Abfrage, wo ich versuchte mit der Variablen net_salary
in einer Bedingung, die es ausfällt, ist es falsch, die Variable zu verwenden, die in einer Abfrage als Bedingung in einer Abfrage erstellt wurde? Kannst du erkennen, was falsch war?
Versuch ---> AND (Gehalt - Summeduktionen)> 5000 –
Die where-Klausel wertet zuerst die Bedingung aus, und zu diesem Zeitpunkt ist der AS net_salary ein unbekannter. Versuchen Sie die von @TheOneandOnlyChemistryBlob – Valkyrurr
Art Dezimal (anstelle von Float) vorgeschlagen hätte auch gearbeitet, da monetäre Werte immer genau 2 Ziffern nach dem Komma –