akretschmer
Datenbank-Guru
- Beiträge
- 10.379
Ich möchte mich übrigens mal ganz herzlich bedanken!
Du darfst gern ab und an mal auf den "Gefällt mir" - Dingens drücken. Der beißt nicht ;-)
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Ich möchte mich übrigens mal ganz herzlich bedanken!
So manch geantwortete Syntax hat mir erstmal Kringel in den Augen beschert, aber das ließ sich dann dank der Manuals (zumindest teilweise) aufdröseln und hat sehr weiter geholfen,
CREATE VIEW fv_buy_tag AS
SELECT date, name, f_buy.qty, f_buy.unit,
(f_nut.kcal*f_buy.qty/100)::numeric(4) AS cal,
(f_nut.prot*f_buy.qty/100)::numeric(8,1) AS prot,
(f_nut.carb*f_buy.qty/100)::numeric(8,1) AS carb,
(f_nut.fat*f_buy.qty/100)::numeric(8,1) AS fat
FROM f_buy INNER JOIN f_nut ON (f_buy.item = f_nut.name)
--GROUP BY f_buy.date
ORDER BY f_buy.date, f_buy.item;
Also, alle Spalten des Resultates müssen ENTWEDER gruppiert (group by) ODER aggregiert (min(), max(), avg(), ... ) werden. Entwas in dieser Art steht auch in der Fehlermeldung, stimmts?
test=*# select * from verkauf;
user_id | datum | menge
---------+------------+-------
1 | 2015-01-01 | 10
1 | 2015-01-01 | 12
1 | 2015-01-05 | 13
2 | 2015-01-03 | 22
(4 rows)
test=*# with tage as (select '2015-01-01'::date + s * '1day'::interval as datum from generate_Series(0,9) s) select tage.datum, verkauf.user_id, sum(verkauf.menge) from tage left join verkauf using (datum) group by datum, user_id;
datum | user_id | sum
---------------------+---------+-----
2015-01-01 00:00:00 | 1 | 22
2015-01-08 00:00:00 | |
2015-01-03 00:00:00 | 2 | 22
2015-01-06 00:00:00 | |
2015-01-02 00:00:00 | |
2015-01-10 00:00:00 | |
2015-01-07 00:00:00 | |
2015-01-04 00:00:00 | |
2015-01-09 00:00:00 | |
2015-01-05 00:00:00 | 1 | 13
(10 rows)
date | name | qty | unit | cal | prot | carb | fat
------------+------------------------+------+------+------+--------+-------+-------
2015-07-27 | Champignons braun | 400 | gr | 252 | 10.8 | 2.0 | 0.8
2015-07-27 | Frühlingszwiebeln | 630 | gr | 265 | 5.7 | 53.6 | 1.9
2015-07-27 | Haselnüsse mit Schale | 1600 | gr | 5312 | 131.2 | 48.0 | 507.2
2015-07-27 | Knoblauch | 198 | gr | 0 | 0.0 | 0.0 | 0.0
2015-07-27 | Pastinaken | 200 | gr | 128 | 2.6 | 24.2 | 0.8
2015-07-27 | Petersilienwurzel | 500 | gr | 195 | 14.0 | 30.5 | 2.5
2015-07-27 | Pfifferlinge | 400 | gr | 44 | 6.4 | 0.8 | 2.0
2015-07-27 | Rehbock | 8000 | gr | 8400 | 1816.0 | 0.0 | 168.0
2015-07-27 | Scharlotten | 500 | gr | 210 | 4.5 | 42.5 | 1.5
2015-07-28 | Rehbock | 8000 | gr | 8400 | 1816.0 | 0.0 | 168.0
2015-07-29 | Äpfel | 3000 | gr | 1620 | 9.0 | 342.0 | 3.0
2015-07-29 | Blaubeeren | 1100 | gr | 462 | 6.6 | 83.6 | 6.6
2015-07-29 | Brombeeren | 375 | gr | 161 | 4.5 | 23.3 | 3.8
2015-07-29 | Champignons braun | 1000 | gr | 630 | 27.0 | 5.0 | 2.0
2015-07-29 | Eier | 1320 | gr | 1808 | 157.1 | 19.8 | 122.8
2015-07-29 | Haselnüsse ohne Schale | 800 | gr | 5312 | 130.4 | 48.0 | 506.4
2015-07-29 | Himbeeren | 250 | gr | 108 | 3.3 | 12.0 | 0.8
2015-07-29 | Johannisbeeren | 500 | gr | 165 | 5.5 | 24.0 | 1.0
(18 rows)
Ziel ist die Nährstoffe gemäß Einkauf pro Tag zu erfassen,
date | cal | prot | carb | fat
------------+-------+--------+-------+-------
2015-07-27 | 14806 | 1991.2 | 201.6 | 684.7
2015-07-28 | 8400 | 1816.0 | 0.0 | 168.0
2015-07-29 | 10266 | 343.4 | 557.7 | 646.4