[SQL] Kurze Frage - Ist das überhaupt möglich ?

resoucer

Gesperrt
ID: 77379
L
20 April 2006
2.846
109
Hi, ich habe eine kurze Frage

undzwar

SELECT (kamp.maximum-kamp.verbraucht) as `uebrig` .....
where `uebrig` > 0

sagt immer
Unknown column 'uebrig' in 'where clause'

kann man so nicht auf die Var zugreifen? :roll:
 
Zuletzt bearbeitet:
Überleg mal was WHERE macht... du beist dir hier selbst in den Arsch ;) Mit where begrenzt du die Ergebnismenge, aber du willst diese Menge von dem Ergebnis abhängig machen :ugly: Dazu gibts entweder HAVING oder in dem fall schreibt man "WHERE (kamp.maximum-kamp.verbraucht) > 0".
 
Überleg mal was WHERE macht... du beist dir hier selbst in den Arsch ;) Mit where begrenzt du die Ergebnismenge, aber du willst diese Menge von dem Ergebnis abhängig machen :ugly: Dazu gibts entweder HAVING oder in dem fall schreibt man "WHERE (kamp.maximum-kamp.verbraucht) > 0".

ja so habe ichs jetzt auch gelöst (kamp.maximum-kamp.verbraucht) > 0), dachte nur das man evtl. die abfrage mit der oben genannten alternative verkürzen könnte.
 
Zuletzt bearbeitet:
HAVING funktioniert nur in Verbindung mit GROUP BY

https://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt schrieb:
7.8 <having clause>

Function

Specify a grouped table derived by the elimination of groups from
the result of the previously specified clause that do not meet the
<search condition>.

Format

<having clause> ::= HAVING <search condition>


Syntax Rules

1) If neither a <where clause> nor a <group by clause> is speci-
fied, then let T be the result of the preceding <from clause>;
if a <where clause> is specified, but a <group by clause> is
not specified, then let T be the result of the preceding <where
clause>; otherwise, let T be the result of the preceding <group
by clause>. Each <column reference> directly contained in the
<search condition> shall unambiguously reference a grouping
column of T or be an outer reference.

(ich musste jetzt auch grade nachschauen weil ich nicht wusste obs eine Eigenheit von mysql und mssql ist)

besser: WHERE kamp.maximum > kamp.verbraucht.

sollte performanter sein ...

Sollte... ist es das aber auch?
 
Sollte... ist es das aber auch?

das kann man letzten Endes nur durch Performancemessungen auf der betroffenen Maschine feststellen.
Auf alle Fälle spart man sich durch die Umformulierung eine arithmetische Operation.


da ich aus der z/OS Welt komme, kann ich für diese Dialekte hier keine definitive Aussage treffen, daher der Konjunktiv.
 
Zuletzt bearbeitet: