我有两个表格:项目
,带有数量和单价(id | name | order | id | qt | unit | price)和表格订单
。
我想更新
表格订单
并放入订单。total_price相同订单的乘法qt*单价之和
,以获得订单的总价。
items表上的SELECT
查询非常简单,可以很好地为同一订单id内的所有项目求和:
SELECT SUM(items.qt*items.unit_price) from items GROUP by items.order_id
但是我不能在我的ORDERS
表中插入这个值。我不能让这个工作:
UPDATE orders, items SET orders.total_price = (SELECT SUM(items.qt*items.unit_price)
FROM items GROUP BY items.order_id) WHERE orders.id = items.order_id
它返回“子查询返回超过1行”
我在这里发现了一个非常类似的问题,但答案对我来说并不适用:
UPDATE orders SET orders.t_price = (SELECT SUM(items.qt*items.unit_price) from items WHERE orders.id = items.order_id)
您可以使用
连接
更新
这两个表:
UPDATE Orders o
INNER JOIN
(
SELECT order_id, SUM(qt * unit_price) 'sumu'
FROM items
GROUP BY order_id
) i ON o.id = i.order_id
SET o.total_price = i.sumu
[WHERE predicate]
我正在尝试使用此查询更新一些记录,这基本上只是一种为客户设置“状态”的方法,考虑到他们“自上次订单以来的日子”: 但是我得到了: 错误代码: 1175年。您正在使用安全更新模式,并且您尝试更新不使用使用 KEY 列的 WHERE 的表 要禁用安全模式,请切换首选项中的选项 - 我在最终 中使用表键, 是表键。使用 不是一个选项。我还尝试使用 (我想我看到了曙光,但是没有),得到一个< code>P
问题内容: 我有两个表,一个名为同一列中,他说,。 我想,从复制,,,以,,,分别,这里的是一样的,如何做到这一点的SQL语句? 问题答案: 只要您有合适的索引,它就可以正常工作: sqlite3中的UPDATE不支持FROM子句,这使它比其他RDBMS的工作量更多。 如果性能不令人满意,则另一个选择可能是使用select为table_a建立新行,并与table_a联接到临时表中。然后从table
问题内容: 我正在尝试使用相同的表查询更新行。语境: 我想:对于每一行;如果 TEXT为NULL ; 使用具有相同ID且LANG =’EN’的行的TEXT值更新它。 做这样的事情的SQL请求是什么? 问题答案: 您没有指定数据库。以下是标准SQL: 如果出现重复,则应执行以下操作: 编辑: 当然,并非所有数据库都支持所有ANSI标准功能。在MySQL中,您可以改用:
问题内容: 我正在尝试使用同一表中不同行(和不同列)中的值更新表中的行。尽管我的语法没有任何结果,但与此类似:这是代码(已更新): 问题答案: 或者,简单地
编辑:在阅读文档之后,getInstallerPackageName()给出安装程序的包名。 因此,在传递时,上面的代码将用户带到GooglePlaystore中我的应用程序的屏幕。所以,即使知道安装程序的包名也没有帮助,因为我不能将用户发送到同一屏幕。
问题内容: 我有一张桌子,看起来像这样 我正在寻找一种方法,以使用“ VALUE”列中其他行中具有相同“ NAME”的数据更新值“ Test2”和“ Test”(此处ID并非唯一,ID的复合键和NAME成为唯一的一行)。例如,我正在寻找的输出是: 如果在另一个表中,我会没事的,但是我对于如何使用相同的NAME值引用当前表中的另一行感到困惑。 更新资料 修改完manji查询后,下面是我用于有效解决方