求救:高手帮忙看一下,实在是想不来办法了(php+mysql)

xanger 2018-04-01 11:02:38
一个提成发放计算页面,每个业务的发放标准不一样,结果是为了获得表5,
表4的存在是为了缓冲,如果高人有好办法直接生成表5,那更好,谢谢,
自己掌握的语言已经不足以表达问题,只好做了个excel


...全文
646 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xanger 2018-04-04
  • 打赏
  • 举报
回复
引用 9 楼 ckc 的回复:
每一笔业务办理明细输入的时候就可以同时在表4中插入相应数据 你用php的啊,从提成发放方法中取出对应的发放记录, 循环处理第1个月到第13个月这13个字段,如果有值,就在表4中插入一条,发放日期就是业务产生日期加上对应的月数
如果有值 谢谢,着四个字对我很有用,我再试试
ckc 2018-04-03
  • 打赏
  • 举报
回复
每一笔业务办理明细输入的时候就可以同时在表4中插入相应数据 你用php的啊,从提成发放方法中取出对应的发放记录, 循环处理第1个月到第13个月这13个字段,如果有值,就在表4中插入一条,发放日期就是业务产生日期加上对应的月数
xanger 2018-04-02
  • 打赏
  • 举报
回复
引用 5 楼 weixin_36799819 的回复:
1.表四中姓名代码和姓名不是一一对应,张三对应多个姓名代码? 2.推荐学习:SQL 中的JOIN两表或者多表连接问题 3.你要实现的功能:查询任意工作人员 任意月份的 提成??
是的,任一月份提成
xanger 2018-04-02
  • 打赏
  • 举报
回复
引用 5 楼 weixin_36799819 的回复:
1.表四中姓名代码和姓名不是一一对应,张三对应多个姓名代码? 2.推荐学习:SQL 中的JOIN两表或者多表连接问题 3.你要实现的功能:查询任意工作人员 任意月份的 提成??
不好意思,EXCEL表拉出来的,应该是对应的
xanger 2018-04-02
  • 打赏
  • 举报
回复
引用 5 楼 weixin_36799819 的回复:
1.表四中姓名代码和姓名不是一一对应,张三对应多个姓名代码? 2.推荐学习:SQL 中的JOIN两表或者多表连接问题 3.你要实现的功能:查询任意工作人员 任意月份的 提成??
主要是不知道如何把表1的横数据,如何加上日期变成表4的竖数据
boluoxia 2018-04-02
  • 打赏
  • 举报
回复
1.表四中姓名代码和姓名不是一一对应,张三对应多个姓名代码? 2.推荐学习:SQL 中的JOIN两表或者多表连接问题 3.你要实现的功能:查询任意工作人员 任意月份的 提成??
xanger 2018-04-02
  • 打赏
  • 举报
回复
引用 1 楼 ckc 的回复:
当场计算肯定可以,提成发放最多就6个月,从前6个月开始计算每一笔业务在这个月的提成就好了 不过我认为生成表4的方法就很好,简单,结构清晰,将来有什么调整也容易 为什么想直接生成?
我现在主要是表4不知道怎么生成
xanger 2018-04-02
  • 打赏
  • 举报
回复
不能编辑帖子了????? 我现在主要是表4不知道怎么生成
xanger 2018-04-02
  • 打赏
  • 举报
回复
不知道是不是需要这个,也粘一下吧: # Host: localhost (Version: 5.5.53) # Date: 2018-04-02 19:57:08 # Generator: MySQL-Front 5.3 (Build 4.234) /*!40101 SET NAMES utf8 */; # # Structure for table "结果1" # DROP TABLE IF EXISTS `结果1`; CREATE TABLE `结果1` ( `姓名代码` varchar(255) DEFAULT NULL, `姓名` varchar(255) DEFAULT NULL, `提成日期` double DEFAULT NULL, `提成金额` double DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; # # Data for table "结果1" # /*!40000 ALTER TABLE `结果1` DISABLE KEYS */; INSERT INTO `结果1` VALUES ('yx001','张三',201804,300),('yx001','张三',201806,300),('yx002','张三',201808,200),('yx003','张三',201804,300),('yx004','张三',201805,220),('yx005','张三',201809,180); /*!40000 ALTER TABLE `结果1` ENABLE KEYS */; # # Structure for table "结果2" # DROP TABLE IF EXISTS `结果2`; CREATE TABLE `结果2` ( `姓名代码` varchar(255) DEFAULT NULL, `姓名` varchar(255) DEFAULT NULL, `提成日期` varchar(255) DEFAULT NULL, `提成金额` double DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; # # Data for table "结果2" # /*!40000 ALTER TABLE `结果2` DISABLE KEYS */; INSERT INTO `结果2` VALUES ('yx001','张三','201804',600),('yx001','张三','201805\r\n',220),('yx001','张三','201806\r\n',300),('yx001','张三','201808\r\n',200),('yx001','张三','201809\r\n',180); /*!40000 ALTER TABLE `结果2` ENABLE KEYS */; # # Structure for table "人员总表" # DROP TABLE IF EXISTS `人员总表`; CREATE TABLE `人员总表` ( `地区` varchar(255) DEFAULT NULL, `姓名代码` varchar(255) DEFAULT NULL, `姓名` varchar(255) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; # # Data for table "人员总表" # /*!40000 ALTER TABLE `人员总表` DISABLE KEYS */; INSERT INTO `人员总表` VALUES ('北京','yx001','张三'),('洛阳','yx002','李四'),('昆明','yx003','麻子'); /*!40000 ALTER TABLE `人员总表` ENABLE KEYS */; # # Structure for table "提成发放方法" # DROP TABLE IF EXISTS `提成发放方法`; CREATE TABLE `提成发放方法` ( `业务代码` varchar(255) DEFAULT NULL, `业务类型` varchar(255) DEFAULT NULL, `第1月` double DEFAULT NULL, `第2月` double DEFAULT NULL, `第3月` double DEFAULT NULL, `第4月` double DEFAULT NULL, `第5月` double DEFAULT NULL, `第6月` double DEFAULT NULL, `第7月` double DEFAULT NULL, `第8月` double DEFAULT NULL, `第9月` double DEFAULT NULL, `第10月` double DEFAULT NULL, `第11月` double DEFAULT NULL, `第12月` double DEFAULT NULL, `第13月` double DEFAULT NULL, `总提成` double DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; # # Data for table "提成发放方法" # /*!40000 ALTER TABLE `提成发放方法` DISABLE KEYS */; INSERT INTO `提成发放方法` VALUES ('PX668','业务1',300,NULL,300,NULL,200,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,800),('PR674','业务2',300,220,NULL,NULL,NULL,180,NULL,NULL,NULL,NULL,NULL,NULL,NULL,700),('PX669','业务6',600,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,600); /*!40000 ALTER TABLE `提成发放方法` ENABLE KEYS */; # # Structure for table "业务办理明细" # DROP TABLE IF EXISTS `业务办理明细`; CREATE TABLE `业务办理明细` ( `业务代码` varchar(255) DEFAULT NULL, `业务类型` varchar(255) DEFAULT NULL, `姓名代码` varchar(255) DEFAULT NULL, `业务办理日期` varchar(255) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; # # Data for table "业务办理明细" # /*!40000 ALTER TABLE `业务办理明细` DISABLE KEYS */; INSERT INTO `业务办理明细` VALUES ('PX668','业务1','yx001','2018-03-13 08:28:08'),('PR674','业务2','yx001','2018-03-23 15:35:25'); /*!40000 ALTER TABLE `业务办理明细` ENABLE KEYS */;
ckc 2018-04-02
  • 打赏
  • 举报
回复
当场计算肯定可以,提成发放最多就6个月,从前6个月开始计算每一笔业务在这个月的提成就好了 不过我认为生成表4的方法就很好,简单,结构清晰,将来有什么调整也容易 为什么想直接生成?

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧