SQL每日一题(20211112)

共 1106字,需浏览 3分钟

 ·

2021-11-15 02:27

1点击关注上方“SQL数据库开发”,

设为“置顶或星标”,第一时间送达干货

SQL专栏

SQL基础知识第二版
SQL高级知识第二版

题目

有如下两张表T1112A(客户,类型,金额)

T1112B(客户,类型,金额)

希望将T1112A和T1112B中的数据进行关联后对发票进行拆分,得到如下这张表:

该如何写这个SQL?
解释,例如客户A的发票1是2340元,但是对应的收款单1只有100,那么就需要对2340元的发票先拆分100元出来给对应的收款单1,剩下的2240元形成一张新的收款单2。


测试数据

CREATE TABLE T1112A(NAME VARCHAR(5),TTYPE VARCHAR(10),VAL INT) INSERT INTO T1112A 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 T1112B(NAME VARCHAR(5),TTYPE VARCHAR(10),VAL INT) INSERT INTO T1112B 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);


参考答案

应读者的要求,我将参考答案公布了,有需要的同学可以在下方公众号「数据前线」(非本号)后台回复关键字:1112,即可获取。还是建议先独立答题~

数据前线


后台回复关键字:1024,获取一份精心整理的技术干货

后台回复关键字:进群,带你进入高手如云的交流群。


推荐阅读
浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报