Kann ein Alias in einer berechneten Spalte in SQLite verwendet werden? Ich habe die folgende Abfrage:SQLite: Verwendung von Aliasen in Berechnungen
SELECT
dpTicker AS Ticker,
max(dpDate) AS Datum,
dpClose AS Price,
(SELECT
sum(div)
FROM Dividends
WHERE
divTicker = DP1.dpTicker
AND strftime('%Y', divDate) = strftime('%Y', date('now','-1 Year')))
AS sumDiv,
(SELECT
sum(div)
FROM Dividends
WHERE
divTicker = DP1.dpTicker
AND strftime('%Y', divDate) = strftime('%Y', date('now','-1 Year')))/dpClose*100
AS divYield
FROM DailyPrices AS DP1
GROUP BY dpTicker
ORDER BY divYield DESC;
Wie Sie in der obigen Abfrage feststellen kann, wird der Code für sumDiv wird zweimal wiederholt. Ich habe gesucht, wie man Aliase in berechneter Spalte verwendet, jedoch waren meine Versuche unfruchtbar.
Die direkte Verwendung des Alias (sumDiv) in einer Berechnung führt zu einer Fehlermeldung. Ich habe gelesen, dass um eine SELECT-Anweisung den Alias Umwickeln sollte funktionieren:
(SELECT sumDiv)/dpClose AS divYield
Dieser Versuch führt zu den gleichen Fehler:
bash-3.2$ sqlite3 myShares < Queries/test.sql
Error: near line 1: no such column: sumDiv
Kann Aliase in der Berechnung verwendet werden, oder muss ich das wiederholen zweimal codieren?
Vielen Dank im Voraus für jede Rückmeldung und helfen, die SQLite Lernkurve zu kriechen.
Mit freundlichen Grüßen,
GAM