Mysql My SQL查询:错误:在WHERE子句中使用大小写时字段列表中的未知列
大家好,我是mysql查询的初学者。在mysql中使用此查询时,我有一个错误: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
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子句中设置的OPinquiry\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”的正确语法