我想求出来两个表中,(一个是表一,一个是表二)满足状态条件aduit=1的人,并且求出来此ID下所有一级会员总数,二级会员总数 三级会员总数

第三世界的人 2017-09-14 10:18:59
我想求出来两个表中,(一个是表一,一个是表二)满足状态条件aduit=1的人,并且求出来此ID下所有一级会员总数,二级会员总数 三级会员总数


我是在ECSHOP上做的二次开发。


以下是我写的代码,不过执行不出来结果。
$sql = 'SELECT u.user_name,u.one_level,u.two_level,u.three_level,ac.uid,SUM(CASE WHEN u.one_level=ac.uid THEN 1 ELSE 0 END) AS onelevel,SUM(CASE WHEN u.two_level=ac.uid THEN 1 ELSE 0 END) AS twolevel,SUM(CASE WHEN u.three_level=ac.uid THEN 1 ELSE 0 END) AS threelevel ' . ' FROM ' . $GLOBALS['ecs']->table('users') . 'AS u ' . ' left JOIN ' . $GLOBALS['ecs']->table('audit_clerk') . ' AS ac ON ac.uid = u.user_id' . ' WHERE ac.aduit = 1';

请大神指点一下
...全文
205 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jialecheng 2017-10-08
  • 打赏
  • 举报
回复
你语句都写错了,而且你是要求每一级的个数总和,不能把级别的字段查出来。 SELECT t2.user_name,(select count(t1.one_level) from audit_clerk t1 where t1.one_level=t2.uid ) as one_level, (select count(t1.two_level) from audit_clerk t1 where t1.two_level=t2.uid) as two_level, (select count(t1.three__level) from audit_clerk t1 where t1.three__level=t2.uid) as three__level FROM users t2 where t2.aduit=1;

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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