暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL每日一题(20231106)

SQL数据库开发 2023-11-06
39

点击关注公众号,SQL干货及时获取

后台回复:1024,获取海量学习资源
SQL刷题专栏
SQL145题系列


大家注意:

因为微信改了推送机制,会有小伙伴刷不到当天的文章,

一些比较实用的知识和信息,错过了就是错过了。

所以建议大家加个星标,就能第一时间收到推送了。

题目

有如下两张表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);


    参考答案

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

    数据前线


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

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


    推荐阅读

    文章转载自SQL数据库开发,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论