エイリアスをSQLiteの計算列に使用できますか?私は次のクエリを持っています:SQLite:計算でのエイリアスの使用
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;
上記のクエリで分かるように、sumDivのコードは2回繰り返されます。私は計算列でエイリアスを使用する方法を探していましたが、私の試みは実りありませんでした。
エイリアス(sumDiv)を計算で直接使用すると、エラーメッセージが表示されます。私は、SELECT文の周りにエイリアスをラップすることは動作するはずです読んだことが:
(SELECT sumDiv)/dpClose AS divYield
同じエラーでこの試みの結果:
bash-3.2$ sqlite3 myShares < Queries/test.sql
Error: near line 1: no such column: sumDiv
は計算にエイリアスを使用することができ、あるいは私が繰り返さなければならないのですが2回コード?
フィードバックをお寄せいただきありがとうございます。また、SQLite学習曲線をアップグレーディングするのに役立ちます。
敬具、
GAM