akretschmer
Datenbank-Guru
- Beiträge
- 10.345
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 ;-)
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
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