mysql数据库中unionall的结果表where条件没生效

3.png

SQL 为什么白 发布于 2023-9-21 16:04 (编辑于 2023-9-21 17:24)
1min目标场景问卷 立即参与
回答问题
悬赏:5 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-9-21 16:13

5.5.19都可以 

试试用with 呢

with a  as (

SELECT '北京' AS DW,50 AS Z

UNION ALL

SELECT '北京' AS DW,50 AS Z

UNION ALL

SELECT '上海' AS DW,50 AS Z

UNION ALL

SELECT '深圳' AS DW,50 AS Z

)

select * from a where  DW='北京'

  • 为什么白 为什么白(提问者) 关键是其他人的都可以,我的就不行,我在想是不是我navicat或者数据库有什么参数管这个,你知道吗?
    2023-09-21 16:18 
  • Z4u3z1 Z4u3z1 回复 为什么白(提问者) 那你把他们的navicat拷贝过来试试
    2023-09-21 16:19 
  • 为什么白 为什么白(提问者) with as 也不好使
    2023-09-21 17:11 
  • 谢广坤 谢广坤 回复 白客(提问者) mysql 8 才支持的with虚表
    2023-11-28 10:49 
最佳回答
0
CD20160914Lv8专家互助
发布于2023-9-21 17:20
  • 为什么白 为什么白(提问者) 更新图片,字符集没问题,我都用这么久了,如果跟字符集有关,相关的中文查询肯定有问题。
    2023-09-21 17:24 
  • CD20160914 CD20160914 回复 为什么白(提问者) 重装一下看看吧。换一个文件夹重装
    2023-09-21 17:25 
最佳回答
0
3333xzxLv4初级互助
发布于2023-9-25 15:10

更改字符集为utf8mb4,你可以编辑MySQL服务器的配置文件 (my.cnf 或 my.ini),在 [mysqld] 部分添加以下配置:

[mysqld]

character_set_server = utf8mb4

跟这个字符集应该有关系 不用utfmb3

最佳回答
0
3KZxYkRMLv0见习互助
发布于2023-11-28 10:43(编辑于 2023-11-28 10:44)

我也遇到了这个问题,  union  或者union all 以后 where 涉及到中文的话 就不能用了 返回都是null, 我看了 字符集 和 排序规则都没问题,  我也是 同样的配置 同样的代码, 别人那就可以正常运行 我的就不行, 字符集和排序规则我们所有人都是一样的 就是 where 如果没涉及到 中文 就可以用 涉及到中文了就不能用了!!   但是 如果不用Where 直接用having 来筛选查询 就可以用 可以筛选 中文,  我真是见了鬼了 !  哪位大神能解决!!!!image.pngimage.png

  • 4关注人数
  • 960浏览人数
  • 最后回答于:2023-11-28 10:44
    请选择关闭问题的原因
    确定 取消
    返回顶部