首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL错误(包含子句中的未知列)。

SQL错误(包含子句中的未知列)。
EN

Stack Overflow用户
提问于 2018-06-21 18:19:51
回答 2查看 1.1K关注 0票数 0
代码语言:javascript
复制
[SQL]SELECT
vlog.lead_id, vlog.phone_number
FROM
vicidial_log as vlog
GROUP BY vlog.lead_id
HAVING(
CASE 
WHEN vlog.status = 'NA' THEN 1 
WHEN vlog.status = 'ADC' THEN 1 
END
) = COUNT(*)

[Err] 1054 - Unknown column 'vlog.status' in 'having clause'

以上查询不起作用。我正在努力实现这一目标:从意义上说是https://www.db-fiddle.com/f/ej4fM8GptBk9FvGJC8AkUH/0

代码语言:javascript
复制
 [SQL]SELECT
    vlog.lead_id, vlog.phone_number, vlog.status
    FROM
    vicidial_log as vlog
    GROUP BY vlog.lead_id
    HAVING(
    CASE 
    WHEN vlog.status = 'NA' THEN 1 
    WHEN vlog.status = 'ADC' THEN 1 
    END
    ) = COUNT(*)

这是可行的,但它不能给我我想要的结果

状态=可以是任何东西,lead_id =不唯一,phone_number =不唯一

我正在努力找出至少状态是

代码语言:javascript
复制
ADC
NA
OR BOTH ADC AND NA

任何其他组合都不应返回电话号码。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-21 18:28:37

它是在黑暗中拍摄的,但也许它会对你有用。将HAVING子句更改为:

代码语言:javascript
复制
HAVING SUM(CASE WHEN vlog.status in ('NA','ADC') THEN 1 ELSE 0 END) = COUNT(*)
票数 2
EN

Stack Overflow用户

发布于 2018-06-21 18:26:59

这似乎是可行的:

代码语言:javascript
复制
SELECT DISTINCT lead_id, phone_number
FROM vicidial_log vlog
WHERE status IN ('NA', 'ADC')
AND NOT EXISTS (SELECT *
                FROM vicidial_log vlog2
                WHERE status NOT IN ('NA','ADC')
                AND vlog.lead_id = vlog2.lead_id
                AND vlog.phone_number = vlog2.phone_number)

不过,还不完全清楚是否需要在lead_idphone_number上进行比较。

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

https://stackoverflow.com/questions/50975237

复制
相关文章

相似问题

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