Rechnen in der WHERE Klausel ? MySQL
Chris
- datenbank
Hallo zusammen,
ich bastell gerade an einer Abfrage (MySQL), die mir aus meiner Datenbank die das tatsächlich günstigste Aangebot ermitteln soll.
Die Preise sind einmal mit Einrichtungsgebühren versehen und den monatlich laufenden Kosten.
Um dem Interessent das Leben einfacher zu machen errechne ich die Kosten des Angebotes für 1 Jahr, um so eine durchschaubare Übersicht zu erschafen.
Wenn ich die Abfrage so gestallte:
SELECT (angebote.monat*12)+angebote.einricht AS Jahr ...
klappt alles Prima.
Nun möchte ich aber gleich in der WHERE Klausel festlegen das er nur die Angebote ermittelt die einen bestimmten max. Gesammtpreis nicht überschreiten.
SELECT (angebote.monat*12)+angebote.einricht AS Jahr FROM angebote WHERE Jahr <= 100
geht leider so nicht weil die Spalte Jahr natürlich nicht existiert.
SELECT (angebote.monat*12)+angebote.einricht AS Jahr FROM angebote WHERE (angebote.monat*12)+angebote.einricht <= 100
hier gibt es keinen Fehler, aber er gibt mir auch kein Resultat zurück.
Leider finde ich keine Lösung für mein Problem.
Hat jemand von euch vieleicht einen Tipp wie ich das hinbekommen kann ?
Viele Grüße und danke,
Chris
SELECT (angebote.monat*12)+angebote.einricht AS Jahr FROM angebote GROUP BY Jahr HAVING Jahr < 101
geht das nicht?
Grüße, Matthias
Hallo,
SELECT (angebote.monat*12)+angebote.einricht AS Jahr FROM angebote GROUP BY Jahr HAVING Jahr < 101
geht das nicht?
Laut Handbuch kann MySQL das, siehe http://dev.mysql.com/doc/mysql/en/Problems_with_alias.html. Die Handbuchseite weist auch darauf hin, warum es in WHERE nicht möglich ist.
Rechnen in der WHERE-Klausel sollte allerdings möglich sein.
Freundliche Grüsse,
Vinzenz
yo,
SELECT (angebote.monat*12)+angebote.einricht AS Jahr FROM angebote GROUP BY Jahr HAVING Jahr < 101
geht das nicht?Laut Handbuch kann MySQL das, siehe http://dev.mysql.com/doc/mysql/en/Problems_with_alias.html. Die Handbuchseite weist auch darauf hin, warum es in WHERE nicht möglich ist.
ich sehe keine where klausel....
Ilja
Hallo Ilja,
ich sehe keine where klausel....
... die hatte ich schon rausgekürzt. Im Ausgangsposting war die noch da https://forum.selfhtml.org/?t=91558&m=550846 :-)
Mein Satz bezog sich auf den Threadtitel "Rechnen in der WHERE Klausel ? MySQL" [1]
Soweit ich weiß, geht das prinzipiell.
Freundliche Grüsse,
Vinzenz
[1] Zitat
Keine Verantwortung für fehlende Bindestriche und überflüssige Leerzeichen :-)
Hallo,
ich sehe keine where klausel....
Soweit ich weiß, geht das prinzipiell.
Berechnungen in der WHERE Klausel funktionieren, ich hatte gestern einen kleinen Tipper in meiner Abfrage, daher hatte ich kein Resultat.
Danke für eure Hilfe,
Chris
Hallo,
.. HAVING Jahr < 101
Having klappt Prima, danke.
Grüße,
Chris