Тема: SQLite віртуальня таблиця (споживання електроенергії по місяцях)
Є таблиця (electric), де записуються показники лічильника електроенергії. Таблиця має такі поля:
-idElectric INTEGER PRIMARY KEY (звичайна id)
-amount INTEGER NOT NULL (показник лічильника)
-transmit INTEGER NOT NULL DEFAULT 0 (засвідчує, що даний показник був переданий в обленерго)
-finally INTEGER NOT NULL DEFAULT 0 (засвідчує, що даний показник був нарахований обленерго)
-change TEXT NOT NULL DEFAULT DATETIME('now', 'localtime') (дата запису)
Вирішив зробити віртуальну таблицю, в якій відображалося б споживання електроенергії по-місяцях, і тут виникла проблема. Все на, що спромігся, створив, аж дві віртуальні таблиці. Підкажіть будь-ласка, як можна, все це втиснути в одну:
CREATE VIEW view1 AS
SELECT (
SELECT COUNT(*)
FROM electric tab2
WHERE tab2.finally AND tab1.idElectric >= tab2.idElectric
) AS id,
tab1.change,
tab1.amount
FROM
electric tab1
WHERE
tab1.finally;
CREATE VIEW view2 AS
SELECT
STRFTIME('%m %Y', tab1.change) AS 'month',
tab1.amount ||'-'|| tab2.amount AS 'range',
tab2.amount - tab1.amount AS 'value'
FROM
view1 AS tab1,
view1 AS tab2
WHERE
tab1.id + 1 = tab2.id
ORDER BY
tab1.change;
SELECT * FROM view2;