postgresql Postgres、超级数据库与数学

8aqjt8rx  于 2022-12-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(182)

我是新来的supabase,我知道它使用postgres。我有数据库包含2个表(目前):
1.膳食
1.饮食天数
膳食包括:姓名、照片、卡路里、蛋白质、碳水化合物等。
每天的饮食包含:具有膳食ID、总卡路里、总蛋白质、总碳水化合物等的阵列。
我可以设置Postgres为我计算吗?类似于:
每日饮食热量:将数组中所有卡路里与膳食相加
此外,由于我不能使用外键数组,因此它必须类似于:
每日饮食热量:对于每一餐(获取带有id的餐),将卡路里相加
谢谢你的回答-我知道第一种方法是可行的,但我不认为这是最好的方法。希望你有一个伟大的一天。
我可以使用我的"后端"来添加膳食到饮食日,获取"总卡路里",并添加新的膳食卡路里。它工作得很好,但如果我编辑膳食呢?我改变卡路里?然后饮食日是错误的。我可以编码我的后端来"刷新"包含编辑膳食的每一天的饮食数据,但它似乎是一个缓慢的方法。

dgtucam1

dgtucam11#

我几乎完成了这与Postgres函数和触发器:P进展顺利,将张贴一个答案,一旦我完成。

BEGIN
  UPDATE ingredient
  SET iname = NEW.iname,
      calories = NEW.calories_per_100 * ingredient.grams / 100,
      protein = NEW.protein_per_100 * ingredient.grams / 100,
      carbs = NEW.carbs_per_100 * ingredient.grams / 100,
      typ = NEW.typ
  WHERE ingredient = NEW.id;
  
  RETURN NEW;
END

相关问题