Kann ich einen Ausdruck in einer MySQL-Abfrage als Variable für ein anderes Feld erneut verwenden?

8

Gibt es eine Problemumgehung, so dass ich tatsächlich so etwas tun kann, ohne den gesamten Ausdruck wiederholen oder eine UNION oder temporäre Tabelle erzwingen zu müssen?

%Vor%

Da Variable1 aufgrund der Funktionsweise von mysql nicht für den zweiten Punkt definiert und verfügbar ist, kann das obige Konzept niemals funktionieren.

Ich muss entweder den Ausdruck für Variable2 wiederholen oder eine UNION oder eine temporäre Tabelle verwenden und zwei Durchgänge verwenden.

Gibt es einen Trick, den ich nicht kenne, um dies effizienter zu erreichen?

(Beachten Sie, dass ich die Antwort sowohl für Variable1 als auch für Variable2 wissen muss, da sie dann für ein INSERT verwendet werden)

Danke für Ideen!

    
ck_ 02.09.2009, 14:37
quelle

3 Antworten

6

Drücken Sie die erste Berechnung in eine abgeleitete Tabelle:

%Vor%     
longneck 02.09.2009, 16:18
quelle
4
%Vor%     
longneck 02.09.2009 14:45
quelle
0

Ich denke, der einzige Weg ist, Ihren ersten complex_expression in Ihrem zweiten zu wiederholen, obwohl ich dachte, dass mysql solche Fälle behandeln könnte.

edit: eine schnelle Suche ergab: Ссылка

    
knittl 02.09.2009 14:46
quelle

Tags und Links