mysql中创建了一个视图,之后查询这个视图的内容where 子句使用视图中的一个字段做判断就会出错,其他时段使用没问题。

mysql中创建了一个视图,之后查询这个视图的内容,其中where 子句中使用了视图的一个字段做判断就会出错,使用其他字段没问题。

create view pinci1(分类一级,地市,主题,频次) as select 分类一级,地市,主题,count(工单号) from january group by 分类一级,地市,主题;
select sum(频次) from pinci1 where 地市=city and 分类一级=zhuanye1 and 频次>=20;

上面的where 子句中 分类一级=zhuanye1报ERROR 1064 (42000)错误
我调测如下,都没有出现问题,只有“分类一级”这个字段出现在where语句时候出错
select sum(频次) from pinci1 where 地市=city and 频次>=20; 正常
select 分类一级 from pinci1 where 频次>=20; 正常

你这个字段什么类型,字符?分类一级='zhuanye1'加个引号试试呢

ERROR 1064 (42000) 这个错误一般都是语法错误,分类一级=zhuanye1 是不是没有打引号,分类一级='zhuanye1'可以一试

select sum(频次) from pinci1 where 地市=city and `分类一级`=zhuanye1 and 频次>=20;
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    抱歉,由于缺乏具体问题,我无法提供解决方案。如果您有任何其他问题,请告诉我,我会尽力提供帮助。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^