求一SQL,如何去匹配数据,高手请进!来者有份
有两张表:
预测单表:YCD
cno ddate dept cp qty
YCD001 2012-01-01 01 A 200
YCD001 2012-01-02 01 A 800
YCD001 2012-01-05 01 B 1000
YCD002 2012-01-03 01 A 2000
YCD003 2012-01-04 02 A 3000
发货单表:FHD
dept cp qty
01 A 3500
02 B 500
要得到如下结果:
cno ddate dept cp qty fhqty
YCD001 2012-01-01 01 A 200 200
YCD001 2012-01-02 01 A 800 800
YCD001 2012-01-05 01 B 1000 0 ----- 按部门来的,因为01部门没有发B产品
YCD002 2012-01-03 01 A 2000 2000
null null 01 A 0 500 -----多余的(3500-200-800-200=500)500单独显示
YCD003 2012-01-04 02 A 3000 0
null null 02 B 0 500
说明:YCD表的数据与FHD表的数据根据产品去进行匹配:要先满足第一张预测单数据,分配完后余下数分配给第二张,张三张、、、、
是用游标,还是有更好办法!
预测单表:YCD
cno ddate dept cp qty
YCD001 2012-01-01 01 A 200
YCD001 2012-01-02 01 A 800
YCD001 2012-01-05 01 B 1000
YCD002 2012-01-03 01 A 2000
YCD003 2012-01-04 02 A 3000
发货单表:FHD
dept cp qty
01 A 3500
02 B 500
要得到如下结果:
cno ddate dept cp qty fhqty
YCD001 2012-01-01 01 A 200 200
YCD001 2012-01-02 01 A 800 800
YCD001 2012-01-05 01 B 1000 0 ----- 按部门来的,因为01部门没有发B产品
YCD002 2012-01-03 01 A 2000 2000
null null 01 A 0 500 -----多余的(3500-200-800-200=500)500单独显示
YCD003 2012-01-04 02 A 3000 0
null null 02 B 0 500
说明:YCD表的数据与FHD表的数据根据产品去进行匹配:要先满足第一张预测单数据,分配完后余下数分配给第二张,张三张、、、、
是用游标,还是有更好办法!
...全文
相关推荐
一条sql语句完成MySQL去重留一
然而,`DISTINCT`并不直接支持在`DELETE`语句中用于删除重复数据,它只能用来返回去重后的结果集。当需要在MySQL中删除重复记录并保留一条时,通常需要结合其他SQL操作来实现。
SQL去重 清除冗余数据
SQL去重清除冗余数据SQL去重是指清除查询结果或者是数据库里不必要的相对某个字段的冗余数据。
浅谈sql数据库去重
在SQL数据库操作中,去重是一项常见的任务,用于去除数据集中重复的记录,确保数据的唯一性和准确性。
Qt 一去丶二三里 Blog(一)
总的来说,"Qt 一去丶二三里 Blog(一)"可能涵盖了Qt的多个方面,包括但不限于基本概念、窗口和控件、布局管理、文件系统操作、网络编程、数据库集成以及图形视图和国际化。
几种sql去重
在数据库管理中,数据去重是一项非常重要的任务,特别是在处理大量数据时,确保数据的准确性与唯一性至关重要。本文将详细介绍几种SQL去重的方法,并通过具体的示例来解释每种方法的应用场景及其背后的原理。


