Betrachtet man den folgenden Code Sortierung:Wie berechne ich den Unterschied von zwei Alias für
SELECT SUM(w.valor),
SUM(CASE WHEN w.tipo = '+' THEN w.valor ELSE 0 END) AS total_credit,
SUM(CASE WHEN w.tipo = '-' THEN w.valor ELSE 0 END) AS total_debit,
w.clientUNIQUE,
c.client as cclient
FROM wallet AS w
LEFT JOIN clients AS c ON w.clientUNIQUE = c.clientUNIQUE
WHERE w.status='V'
GROUP BY w.clientUNIQUE
ORDER BY total_credit-total_debit
Ich versuche, die Differenz von zwei aliased berechneten Werte für die Sortierung Zwecke zu berechnen, aber ich erhalte die folgende Fehler:
Was mache ich falsch und wie kann ich Ergebnisse bestellen, indem ich den Differenzwert zwischen den beiden Aliasen verwende?
gibt es Beschränkungen, wo/wenn Sie Aliase wie das verwenden können. Das ist einer von ihnen. Sie müssen den gesamten Alias-Ausdruck in die "Reihenfolge nach" kopieren. Oder wickle vielleicht eine andere Abfrage um diese und ordne die "Meta" -Ergebnisse an. –
Ihr Tipp, den Alias-Ausdruck in die Reihenfolge nach Ausdruck zu kopieren, zeigte mir den richtigen Weg, ihn zu lösen. Vielen Dank für deine Hilfe. Ich möchte dir dafür danken, aber ich thnik das ist nicht möglich, da dies ein Kommentar war. –
Sind Sie sicher, dass dies MySQL ist? MySQL hat normalerweise kein Problem mit Aliasen in 'ORDER BY' Klauseln, in MS SQL (nicht sicher über Oracle) können Sie den Alias nicht verwenden und müssen den Ausdruck wiederholen. – Uueerdo