马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
x
有三个表A,B,C 先把A表10月的x列的数值取出和B表的z列的数值比较, 如果A表的10月的x列的数值等于B表的z列的数值的情况下, 把A表的10月的x列和y列插入C表, 如果A表的10月的x列的数值小于B表的z列的数值的情况下, 把A表的9月的x列取出和A表的10月的x列相加,再和B表的z列比较 如果A表的10月和9月的x列的数值的和仍然小于B表的z列的数值的情况下, 在把A表的9月的x列取出和A表的9月,10月的x列相加 以此类推,直到A表的x列的和与B表的z列的数值相等为止, 然后再把A表中从10月到计算出的那个月的各项值插入到C表
我想的方法是 Select * from B; 得到 $z = 18; A表x列为$sum = 0; $i = 0; // mysql计算前一个月用 While ($sum < $z) { Select * from A where y = date_sub(10,interval $i month); foreach (执行这个sql所得到的结果){ $sum = x列的值; } $i += 1; If ($sum == $z){ foreach (执行这个sql所得到的结果){ insert into C values (A表各列的值); } } } 但是因为要把mysql的结果循环两遍,所以觉得有些浪费,而且A表特别大,大到要分partion 想问问大家有没有更好的方法?
|