如何将一个单元格的总和放在另一个单元格中 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);
也许标题有点混乱,但我会尽力解释。我正在尝试模拟一家电话公司的数据库。在我创建的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_BILLINSERT 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);