假设我有两张table:
一是产品:
+------------------+-----------------+--------+
| Product Name | Type | Price |
+------------------+-----------------+--------+
| Carrots | Vegetables | 10 |
| Oranges | Fruits | 20 |
| Beer | Drinks | 50 |
| Milk | Dairy products | 30 |
| Burgers | meat | 40 |
| Baguettes | bread | 10 |
第二个是组合:
+-----------+---------+-----------+-------------+
| Item1 | Item2 | Item3 | TotalPrice |
+-----------+---------+-----------+-------------+
| Carrots | Oranges | Beer | |
| Milk | Burgers | Baguettes | |
+-----------+---------+-----------+-------------+
我想更新每个组合的总价格的基础上,其产品的总价格。
例如,牛奶、汉堡包和法式面包组合的“totalprice”列将是80。
我怎样才能做到这一点?
2条答案
按热度按时间hgqdbh6s1#
可以使用子查询根据组合项计算总和:
jm2pwxwz2#
你的方法不太正确,这种关系没有得到正确的表述。想想两个实体
Product
以及Combo
,以及它们之间的关系。1Combo
当然可以有很多Product
,对吧?而且,一个Product
可以属于很多人Combo
,同意吗?所以这意味着两者之间的关系是many-to-many
. 要建立这种关系,你需要第三张table,Combo_Product
只有在Product
属于Combo
.使用此模型,您可以简单地使用brige表将两者连接起来,并执行聚合以获得任意和。
查询将包括以下行: