首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么这个列在mysql中是未知的

为什么这个列在mysql中是未知的
EN

Stack Overflow用户
提问于 2018-12-12 05:38:12
回答 1查看 0关注 0票数 0
代码语言:javascript
复制
SELECT 
kodeagent,
(SELECT IFNULL(SUM(total),0) FROM 
   (SELECT bsn_data.kodeagent,
                    IFNULL(COUNT(1),0) total
                    FROM bsn_data
                    WHERE bsn_data.periode LIKE '2018-12-%%'
                    AND bsn_data.kodeupline2=bsn_kode_agent.kodeagent
                    GROUP BY bsn_data.kodeagent ORDER BY total DESC limit 3)AS tableb) AS totps

FROM bsn_kode_agent WHERE fungsi='sales agent' ORDER BY totps desc

得到结果

错误代码: 1054'where子句'中的未知列'bsn_kode_agent.kodeagent'

我该如何解决?我希望as bsn_kode_agent.kodeagent可以检测为列。

EN

回答 1

Stack Overflow用户

发布于 2018-12-12 14:54:10

您当前的查询中有太多“图层”

代码语言:javascript
复制
SELECT ... # layer 1
 , (
      SELECT ...    #  layer 2
      FROM 
               (SELECT ... # layer 3
                FROM ...
                WHERE  ...
                AND ...  = bsn_kode_agent.kodeagent # from layer 1
              ) AS tableb
    ) AS totps
FROM bsn_kode_agent

“第1层”表只能在一层向下引用。因此,您需要简化子查询,以下可能有效:

代码语言:javascript
复制
SELECT kodeagent
 , IFNULL((
   SELECT COUNT(DISTINCT bsn_data.kodeagent)
   FROM bsn_data
   WHERE bsn_data.periode LIKE '2018-12-%%'
    AND bsn_data.kodeupline2 = bsn_kode_agent.kodeagent
   ), 0) AS totps
FROM bsn_kode_agent
WHERE fungsi = 'sales agent'
ORDER BY totps DESC

ps:我不确定使用LIKE '2018-12-%%'是否是一种过滤日期范围的有效方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档