题目
有如下两张表G1106A(客户,类型,金额)
G1106B(客户,类型,金额)
希望将G1106A和G1106B中的数据进行关联后对发票进行拆分,得到如下这张表:
该如何写这个SQL?
解释,例如客户A的发票1是2340元,但是对应的收款单1只有100,那么就需要对2340元的发票先拆分100元出来给对应的收款单1,剩下的2240元形成一张新的收款单2。
测试数据
CREATE TABLE G1106A
(
NAME VARCHAR(5),
TTYPE VARCHAR(10),
VAL INT
)
INSERT INTO G1106A VALUES
('A','发票1',2340),
('A','发票2',4680),
('A','发票3',1170),
('A','发票4',2340),
('A','发票5',11700),
('A','发票6',2870 ),
('B','发票1',2340),
('B','发票2',4680),
('B','发票3',1170),
('B','发票4',2340),
('B','发票5',11700);
CREATE TABLE G1106B
(
NAME VARCHAR(5),
TTYPE VARCHAR(10),
VAL INT
)
INSERT INTO G1106B VALUES
('A','收款单1',100),
('A','收款单2',3000),
('A','收款单3',5000),
('A','收款单4',7000),
('A','收款单5',10000),
('B','收款单1',100),
('B','收款单2',3000),
('B','收款单3',5000),
('B','收款单4',7000);