Zugriff auf berechnete Datumsspalte in WHERE Klausel
Andreas Kretschmer
andreas.kretschmer at schollglas.com
Di Mär 16 12:15:31 CET 2010
In response to Tim :
> Hallo liebe Liste,
>
> ich habe derzeit das Problem, dass ich in einer WHERE-Klausel nicht auf
> eine Spalte zugreifen kann, die von MySQL zur Laufzeit der Abfrage erst
> errechnet wird:
>
> SELECT S.datetime_from, S.datetime_to,
> IFNULL(DATE_ADD(S.datetime_to, INTERVAL -1 SECOND),
> '0000-00-00 00:00:00') as datetime_to_enc
> FROM `stocks` S
> WHERE datetime_to_enc >= '2010-03-18 14:59:59'
>
>
> Die Fehlermeldung von MySQL ist #1054 - Unknown column 'datetime_to_enc'
> in 'where clause'. Verstehe ich nicht, denn sowas Ähnliches hatte ich
> damals schon mit berechneten Integer-Spalten gemacht. Oder vertue ich
> mich da gerade und sowas geht grundsätzlich nicht?
Das ist so richtig, per SQL-Spec. Wenn Du das willst, mach ein Subselect
draus. Select * from (deine query ohne where) foo where datetime_to_enc = ...
>
> Über eine kurze Rückmeldung würde ich mich freuen.
Kann natürlich sein, daß MySQL die Spec verschlimmbessert hat...
Andreas
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG: 0x31720C99, 1006 CCB4 A326 1D42 6431 2EB0 389D 1DC2 3172 0C99