如何将一个单元格的总和放在另一个单元格中 table mysql workbench

How to put the sum of a cell at a cell in another table mysql workbench

也许标题有点混乱,但我会尽力解释。我正在尝试模拟一家电话公司的数据库。在我创建的table中,我感兴趣的是这3个table。

CREATE TABLE `test`.`number` (
        `MSISDN` BIGINT(10) NOT NULL COMMENT '',
        `CUSTOMER_NUMBER` INT NOT NULL COMMENT '',
        PRIMARY KEY (`MSISDN`) COMMENT ''
    );



     CREATE TABLE `test`.`bill_msisdn` (
    `BILL_ID` INT NOT NULL COMMENT '',
    `MONTHLY_FEE` DECIMAL(10 , 2 ) NOT NULL COMMENT '',
    `CHARGES` DECIMAL(10 , 2 ) NULL DEFAULT 0 COMMENT '',
    `TOTAL_BILL` DECIMAL(10 , 2 ) NOT NULL COMMENT '',
    `MSISDN` VARCHAR(45) NOT NULL COMMENT '',
    PRIMARY KEY (`BILL_ID`) COMMENT ''
);

     CREATE TABLE `test`.`bill_customer_number` (
    `BILL_ID_CUSTOMER` INT NOT NULL COMMENT '',
    `CHARGE_DATE` DATE NOT NULL COMMENT '',
    `TOTAL_BILL` DECIMAL(10 , 2 ) NOT NULL COMMENT '',
    `CUSTOMER_NUMBER` INT NOT NULL COMMENT '',
    PRIMARY KEY (`BILL_ID_CUSTOMER`) COMMENT ''
);

我在这3个table中填充了一些数据,看看它是否有效。 对于第一个 table 我写了以下内容,因为我想有 2 个客户,第一个有 2 个号码,第二个只有一个:

INSERT INTO number VALUES (6944747844,1234567);
INSERT INTO number VALUES (6944747845,1234567);
INSERT INTO number VALUES (6944747846,7654321);

第二个 table 我写道:

INSERT INTO bill_msisdn VALUES (12345,10.50,0,MONTHLY_FEE+CHARGES,6944747844);
INSERT INTO bill_msisdn VALUES (12346,11.5,5.22,MONTHLY_FEE+CHARGES,6944747845);
INSERT INTO bill_msisdn VALUES (12347,3.10,9.02,MONTHLY_FEE+CHARGES,6944747846);

我在 TOTAL_BILL 输入的 MONTHLY_FEE+CHARGES 基本上自动计算 MONTHLY_FEE 和 CHARGES 的总和。

不知道怎么管理的在第三个table(bill_customer_number)

我写了:

INSERT INTO bill_customer_number VALUES (12345678,'2015-09-15',,1234567);
INSERT INTO bill_customer_number VALUES (12345679,'2015-09-13',,7654321);

将 TOTAL_BILL 列留空。

我的问题是是否有办法根据 MSISDN 的数量自动计算每个客户的TOTAL_BILL。

例如客户 1234567 有两个号码(6944747844 和 6944747845)。如何自动填充此行

的列 TOTAL_BILL
INSERT INTO bill_customer_number VALUES (12345678,'2015-09-15',,1234567);

可能需要子查询的帮助?

 INSERT INTO bill_customer_number VALUES (12345678,'2015-09-15',
 ( SELECT SUM(TOTAL_BILL) FROM bill_msisdn WHERE MSISDN = 1234567 )
 ,1234567);