这件事我已经讨论了一段时间了,我想不通。假设我有三张table:
Users
Name | Basket value
-------+---------------
John | ???
-------+---------------
Pierre | ???
Items
User | Item | Amount
-----------+------------+------------
John | Pears | 2
-----------+------------+------------
Pierre | Pears | 1
-----------+------------+------------
Pierre | Apples | 3
Market_ prices
Item | Price
------------+---------------
Pears | 2.35
------------+---------------
Apples | 2.56
篮子价值是必需的。因此,对于项目中的每一行,它必须乘以 AMOUNT
由 MARKET_PRICES[PRICE]
并将所有结果按 USER
把这个结果放到 USERS[total items value]
. 但是,如何详细阐述语法以将其付诸实践呢?
非常感谢你的帮助。
2条答案
按热度按时间vecaoik11#
gab6jxml2#
一种方法是连接相关表:
(本文的第二部分是:http://sqlfiddle.com/#!9/ec224/6-我向表中添加了一些其他行以测试更复杂的情况,因此总数不是您从示例中得到的结果。具体来说,我补充道
Bananas 3.75
市场价格表John Apples 3
以及Pierre Bananas 5
到items表。)这里的目标是通过共享字段(通过join)链接所有三个表中的信息,同时将计算出的成本作为市场价格和项目数量的乘积进行分组和创建。
----根据评论编辑——要将此作为更新,您可以尝试:
我有一种感觉,有一个更优雅的解决方案,但这是可行的。修改的SQLFIDLE是:http://sqlfiddle.com/#!9/56245a/1号