Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 求助两条在模板内使用的sql语句

[复制链接]
fenpg 发表于 2016-8-17 12:49:12 | 显示全部楼层 |阅读模式
先贴上语句
  1. {eval $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));}
  2. {eval $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;}
  3. {eval $sql ="SELECT SUM(a.`exta`) FROM a LEFT JOIN b ON a.`uid` = b.`uid` WHERE a.`exta` >= 100 AND b.`status` IN(2, 3) AND b.`xintime` >= $beginYesterday AND b.`xintime` <= $endYesterday GROUP BY b.`uid`");}
  4. {eval $meirisum = mysql_query($sql);}
  5. {eval list($sum)=mysql_fetch_row($meirisum);}
  6. {eval mysql_free_result($meirisum);}
  7. {eval $meiri=DB::fetch_all("SELECT d.`uid`,cast(d.`exta`/$sum as decimal(14, 13)) AS pp FROM c LEFT JOIN d ON c.`uid` = d.`uid` WHERE d.`exta` >= 100 AND c.`status` IN(2, 3) AND c.`xintime` >= $beginYesterday AND c.`xintime` <= $endYesterday GROUP BY c.`uid`");}
复制代码

想要的效果:找出满足a表内`exta`大于等于100并且b表内昨天存在`status`等于2或3数据的所有用户并对查询出来的a.`exta`求和赋值到$sum,然后再计算出每个满足要求的会员的`exta`占$sum的比例

相关附加信息:a表内结构和common_member_count表内一样,一个用户只有一行数据,而b表内满足条件的数据与a表内的用户不一定会一一对应,可能a表内`exta`大于等于100的用户,昨天在b表内没有数据或者有大于1条的数据,因为不能用嵌套(SELECT,所以不知道应该怎么弄
magentoon 发表于 2016-8-17 13:14:59 | 显示全部楼层
我看你讲了半天都没看明白
不如直接说你想干嘛
回复

使用道具 举报

⑧穿内裤 发表于 2016-8-17 13:36:20 | 显示全部楼层
什么鬼,讲的不清不楚,你要查B就关联表呗,再用foreach处理下不就得了,但是你特么来了个什么破用户关系
回复

使用道具 举报

 楼主| fenpg 发表于 2016-8-17 14:26:50 | 显示全部楼层
magentoon 发表于 2016-8-17 13:14
我看你讲了半天都没看明白
不如直接说你想干嘛

已经解决了,谢谢回复
回复

使用道具 举报

 楼主| fenpg 发表于 2016-8-17 14:28:32 | 显示全部楼层
⑧穿内裤 发表于 2016-8-17 13:36
什么鬼,讲的不清不楚,你要查B就关联表呗,再用foreach处理下不就得了,但是你特么来了个什么破用户关系

已经解决了,谢谢回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-23 11:15 , Processed in 0.016375 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表