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

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


...全文
907 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2018-04-04
  • 打赏
  • 举报
回复
PX668 业务1 1月 300 PX668 业务1 2月 300 PX668 业务1 3月 200 PX668 业务1 4月 800 PR674 业务2 1月 300 PR674 业务2 2月 220 PR674 业务2 3月 180 PR674 业务2 4月 700 PX669 业务6 1月 600 PX669 业务6 2月 600 如果是第几月,那你就需要先计算出是第几 '张三',201804 第1 '张三',201805 第2 ''张三',201806 第3 '李四',201805 第1 ''李四',201807 第2
xanger 2018-04-04
  • 打赏
  • 举报
回复
引用 11楼xuzuning 的回复:
提成发放方法 表结构不适合关联查询 应为 业务代码 业务类型 月份 提成
就是这个跟分期一样的提成弄不成啦,各业务都是不一样的分期月数和提成金额,有好的思路吗?
xuzuning 2018-04-04
  • 打赏
  • 举报
回复
提成发放方法 表结构不适合关联查询 应为 业务代码 业务类型 月份 提成
xanger 2018-04-04
  • 打赏
  • 举报
回复
引用 15 楼 xuzuning 的回复:
第1月 第2月 第3月 是你这样写的,并不是我 一年就 12个月,也就是每种业务也就 12 条记录,何况你还有不分成的呢
能力有限,理解力好像也不行啊,劳驾出个建表的代码,月份是如何计算的,不管是按照我原来的格式还是您建议的格式,然后我再仔细琢磨琢磨
xuzuning 2018-04-04
  • 打赏
  • 举报
回复
第1月 第2月 第3月 是你这样写的,并不是我 一年就 12个月,也就是每种业务也就 12 条记录,何况你还有不分成的呢
xanger 2018-04-04
  • 打赏
  • 举报
回复
引用 13 楼 xuzuning 的回复:
PX668 业务1 1月 300 PX668 业务1 2月 300 PX668 业务1 3月 200 PX668 业务1 4月 800 PR674 业务2 1月 300 PR674 业务2 2月 220 PR674 业务2 3月 180 PR674 业务2 4月 700 PX669 业务6 1月 600 PX669 业务6 2月 600 如果是第几月,那你就需要先计算出是第几 '张三',201804 第1 '张三',201805 第2 ''张三',201806 第3 '李四',201805 第1 ''李四',201807 第2
如果按照“PX668 业务1 1月 300 PX668 业务1 2月 300 PX668 业务1 3月 200”建表,此提成规则得有10万行,以后只能增加不能减少,这个倒是次要的,“如果是第几月,那你就需要先计算出是第几”这句我可能没有看明白,这个业务不好按时间倒推,本月(4月)发放的有可能是“201801的第三个月提成,201802的第二个月提成,201803的第一个月提成”,也有可能啥也没有,因为有些业务某几个月是没有提成的。
line_us 2018-04-03
  • 打赏
  • 举报
回复
看起来挺绕的。
qwer09000 2018-04-02
  • 打赏
  • 举报
回复
这不是很明显了吗 有你说的缓冲表 表5不是自然就出来了吗 其实我想说excel 用的挺好
xuzuning 2018-04-02
  • 打赏
  • 举报
回复
文字! 你或我是借你的图回答你的问题,还是从你的图中读取文字来回答 贴图,你是方便了!你都懒得打字,还指望人家打字回答你?
xanger 2018-04-02
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
不知道 与人方便,与己方便 吗? 贴一大堆图干什么
不知道需要些什么?这些都是简化了的字段,我是感觉我用500字也说不明白的问题,一张图显示了也算挺有用吧!!! 你说的方便的东西我也不会呀
xuzuning 2018-04-02
  • 打赏
  • 举报
回复
不知道 与人方便,与己方便 吗? 贴一大堆图干什么
xanger 2018-04-02
  • 打赏
  • 举报
回复
阻止我前进脚步的是表4不知道是怎么生成?
xanger 2018-04-02
  • 打赏
  • 举报
回复
业务代码 业务类型 第1月 第2月 第3月 第4月 第5月 第6月 第7月 第8月 第9月 第10月 第11月 第12月 第13月 总提成 PX668 业务1 300 300 200 800 PR674 业务2 300 220 180 700 PX669 业务6 600 600 业务代码 业务类型 姓名代码 业务办理日期 PX668 业务1 yx001 2018-03-13 08:28:08 PR674 业务2 yx001 2018-03-23 15:35:25 地区 姓名代码 姓名 北京 yx001 张三 洛阳 yx002 李四 昆明 yx003 麻子 姓名代码 姓名 提成日期 提成金额 yx001 张三 201804 300 yx001 张三 201806 300 yx002 张三 201808 200 yx003 张三 201804 300 yx004 张三 201805 220 yx005 张三 201809 180
xanger 2018-04-02
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
文字! 你或我是借你的图回答你的问题,还是从你的图中读取文字来回答 贴图,你是方便了!你都懒得打字,还指望人家打字回答你?
我也不确定您要的是不是这个,索性都这样粘上来吧: # Host: localhost (Version: 5.5.53) # Date: 2018-04-02 19:48:13 # 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, `提成日期` double 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,220),('yx001','张三',201806,300),('yx001','张三',201808,200),('yx001','张三',201809,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月` varchar(255) DEFAULT NULL, `第5月` double DEFAULT NULL, `第6月` double DEFAULT NULL, `第7月` varchar(255) DEFAULT NULL, `第8月` varchar(255) DEFAULT NULL, `第9月` varchar(255) DEFAULT NULL, `第10月` varchar(255) DEFAULT NULL, `第11月` varchar(255) DEFAULT NULL, `第12月` varchar(255) DEFAULT NULL, `第13月` varchar(255) DEFAULT NULL, `总提成` double DEFAULT NULL, `F17` varchar(255) DEFAULT NULL, `F18` varchar(255) DEFAULT NULL, `F19` varchar(255) DEFAULT NULL, `F20` varchar(255) DEFAULT NULL, `F21` varchar(255) DEFAULT NULL, `F22` varchar(255) 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,NULL,NULL,NULL,NULL,NULL,NULL),('PR674','业务2',300,220,NULL,NULL,NULL,180,NULL,NULL,NULL,NULL,NULL,NULL,NULL,700,NULL,NULL,NULL,NULL,NULL,NULL),('PX669','业务6',600,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,600,NULL,NULL,NULL,NULL,NULL,NULL),(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); /*!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 */;
xanger 2018-04-02
  • 打赏
  • 举报
回复
引用 6 楼 qwer09000 的回复:
这不是很明显了吗 有你说的缓冲表 表5不是自然就出来了吗 其实我想说excel 用的挺好
就是表4做不出来EXCEL用的好,在这里用不上啊

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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