Mysql My SQL查询:错误:在WHERE子句中使用大小写时字段列表中的未知列

Mysql My SQL查询:错误:在WHERE子句中使用大小写时字段列表中的未知列,mysql,Mysql,大家好,我是mysql查询的初学者。在mysql中使用此查询时,我有一个错误: SELECT enquiry.business_id ,enquiry_count ,b.`business_name`,c.`id` FROM `consumer_guide_enquiry_company` enquiry INNER JOIN `businesses` b ON `enquiry`.`business_id`=b.`business_id` INNER JOIN `consumer_guide

大家好,我是mysql查询的初学者。在mysql中使用此查询时,我有一个错误:

SELECT enquiry.business_id ,enquiry_count ,b.`business_name`,c.`id`
FROM `consumer_guide_enquiry_company` enquiry
INNER JOIN `businesses` b ON  `enquiry`.`business_id`=b.`business_id`
INNER JOIN `consumer_guide_company` c ON c.`business_id`=b.`business_id` 
WHERE CASE 
WHEN enquiry.`business_id` 
IN (
SELECT b.business_id 
FROM `businesses` b,`consumer_guide_company` c 
WHERE b.`business_id`=c.`business_id` AND c.`consumer_guide_id`=1) 
THEN enquiry_count=COUNT(enquiry.enquiry_id) 
ELSE enquiry_count=0 
END
GROUP BY enquiry.business_id
It显示错误:“字段列表”中的未知列“查询计数”


感谢您的帮助

您不应该提及姓名
tablename在哪里。查询计数

以下行中的代码错误:

错误代码行:1

SELECT enquiry.business_id ,enquiry_count ,b.`business_name`,c.`id`

错误代码行:2

    THEN enquiry_count=COUNT(enquiry.enquiry_id) 
    ELSE enquiry_count=0 
您应该提到:表名

   tablename.enquiry_count 
像这样试试

SELECT enquiry.business_id ,case when enquiry_count is NULL then  0 
else enquiry_count end 'enquiry_count'  ,b.`business_name`,c.`id`
FROM `consumer_guide_enquiry_company` enquiry

INNER JOIN `businesses` b ON  `enquiry`.`business_id`=b.`business_id`
INNER JOIN `consumer_guide_company` c ON c.`business_id`=b.`business_id` 

LEFT JOIN (SELECT b.business_id,count(*) as enquiry_count FROM `businesses`
b,`consumer_guide_company` c WHERE b.`business_id`=c.`business_id` AND  
c.`consumer_guide_id`=1 group by b.business_id) as tt 
ON enquiry.`business_id`=tt.b.business_id
GROUP BY enquiry.business_id

您的任何表格中都有该列吗?
enquiry\u count
enquiry.enquiry\u count
没有,我在任何表格中都没有任何enquiry\u count列。我不知道如何选择一个值是在CASE-WHEN-THEN-ElSE-END表达式中计算的,所以我定义了inquiry\u count value in CASE-WHEN-THEN-ElSE-END为什么要在Where子句中使用SET?我认为在Where子句中设置的OP
inquiry\u count
值。在OP查询中,查询时使用
案例。
business\u id`In(从
businesss
b中选择b.business\u id,
consumer\u-guide\u-company
c,其中b.
business\u-id
和c.
consumer\u-guide\u-id
=1),然后查询计数=计数(查询.inquiry\u-id)ELSE查询_count=0`因此该字段不在table@SATSON:是的,你说得对。该字段不在任何表中。@jmail如果表中没有这样的列,初学者将如何提及tablename.enquiry\u count???我尝试了您的查询,但它显示:“case when enquiry\u count为空,则0否则查询\u count结束”作为结果的一个列名。使用相同但在结束后添加为查询\u计数,即
情况,当查询\u计数为空时,则为0,否则查询\u计数结束为需求\u计数
@Rat-a-tat-a-tatRatatouille谢谢,现在我添加this@Rat-a-tat-a-tatratotuille:它显示错误:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用“as enquiry\u count”的正确语法