如何计算表中一个ID的值并将数据放入其他表SQL

土豆

我在求和值时遇到问题...表显示如下:

create table clients
    (
      id_c    INTEGER not null,
      name    VARCHAR2(20),
      age     INTEGER,
      address VARCHAR2(20),
      price number,
      Primary key (id_c)
    );

create table PRODUCTS
    (
      id_p              NUMBER not null,
      name_product      VARCHAR2(30),
      price             NUMBER,
      duration          NUMBER,
      primary key (id_p)
    );

create table TRANSACTIONS
    (
      id_t NUMBER not null,
      id_c NUMBER not null,
      id_p NUMBER not null,
      td_c NUMBER,
      primary key (ID_t),
      foreign key (ID_c) references CLIENTS (ID_c)
    );

现在,我想对每个客户(translations.id_c)的所有产品成本(translations.td_c)进行汇总,然后将该值放在表客户的价格行中。关键是要获取相同的客户ID(ID_C),并总结交易表中具有该ID_C的每一行,为该客户总结td_c的每个值,然后将其放入表客户的价格列中...不知道该怎么做,每次我尝试制作一些UPDATE代码时,都会出现错误...

粘性位

尝试使用子查询:

UPDATE clients
       SET price = (SELECT sum(transactions.td_c)
                           FROM transactions
                           WHERE transactions.id_c = clients.id_c);

但是您的设计可能有问题。clients.price完全取决于transactions,因此不应该这样存在。

如果中有任何更改,我将立即不同步transactions例如,如果您在某客户“ John”的交易中插入+的新行,其td_c值为+100,price则客户表中的“ John”for将为100空头,直到您再次对其进行更新。

考虑使用视图将price和客户数据合并,始终price从中选择当前数据transactions例如:

CREATE VIEW clients_with_price
AS
SELECT c.id_c,
       c.name,
       c.age,
       c.address,
       s.price
       FROM clients c
            LEFT JOIN (SELECT sum(t.td_c) price,
                              t.id_c
                              FROM transactions t
                              GROUP BY t.id_c) s
                      ON s.id_c = c_id.c;

然后将该price列放到中clients

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何计算表中一个字段的总和并将其放入输入中

如何使用SQL Server解析表中一列中的数据并将结果放入另一列中?

如何对一个SQL查询的结果与其他表的数据进行排序

SQL Server:如何从其他 4 个表中的所有数据创建一个新的永久表

在其他表中查找匹配值并将相邻值复制回第一个表

SQL:将数据从一个表复制到另一个表,同时添加其他固定值列

如何建立一个虚拟表,其标题来自其他表的值

如何计算R中一个值与组中所有其他值之间的平均差

如何使用3个表执行MySQL查询?其中一个表在其他两个表中具有外键

SQL 将数据从表复制到另一个表并计算值

如何连接 2 个表并在 PostgreSQL 的第一个表中嵌套其他表的值列表?

如何显示一个表中但该表的两列上的所有值,如果其他表的列名相同,则显示其他表的值

如何检索 SQL Server 中一个表的任何字段中不存在的数据?

提取循环Blob数据并将其放入另一个表的最佳方法是什么?-SQL

如何加入多个表并将某个列(在具有不同值的所有表中重复)放入一个具有一列的目标表中

如何将一个表与另一个表连接起来,然后计算非空列并将它们按其他两个字段分组?

如果第一个表中还有其他数据,如何从第二个表中获取单个值?

让 SQL 表条目引用同一个表中的其他 ID 是个好主意吗?

如何获得 2 个输入的值,计算它们并将结果放入另一个

tidyverse:data.frame中一个变量与所有其他变量的交叉表

我如何在mysql表中做一个值echo作为其他东西?

如何获得与其他表不同的内部联接的第一个值

一个人如何报告链接之间的距离,并将报告的值用于代码中的其他计算?

用其他表中一列的唯一值數填充sql表中的一列

如何创建JSONField一个Django模型,采用同一个表中其他字段的值?

如何在明列值上比较两个不同的数据框并将值放入其他数据框

对于 SQL Server 2012,我将如何创建一个 SQL 报告,其中一个列名更改为另一个表中数据列的值?

如何将数据插入表中,其中一个值应该是另一个表的外键?

我该如何编写一个查询来计算两个表中条件中一个ID的行数?