mysql - 不正确的 CASE 语法
问题描述
这是我的查询:
SELECT
CASE WHEN COUNT(o) > 0 THEN true ELSE false
FROM orders o
left join shop_order so on o.id=so.order_id
left join order_details od on so.id=od.shop_order_id
left join offers of on od.offer_id=of.id
WHERE of.offer_type_id=1
and of.type=2
and o.customer_id = ?1
and od.varient_id=?2
错误是:
您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在 'FROM orders o left join shop_order so on o.id=so.order_id left join order_det 附近使用的正确语法
解决方案
case
缺少end
关键字。END
在之前插入FROM
:
SELECT
CASE WHEN COUNT(o) > 0 THEN true ELSE false END
FROM ...
MySQL 错误消息说“近”,但它们的真正意思是“就在之前”。
推荐阅读
- excel - 如何使用 VBA 将文件附加到电子邮件?
- android - 将 android studio 更新到 3.5 后,连接的设备未显示运行项目
- jquery - 检查他的值长度为 0 的每个输入类,并将属性显示更改为无
- ios - 保存到数组时再次变长
- ubuntu - g ++ ld链接器在特定点停止在给定路径中搜索
- javascript - 购物车/将多个商品添加到购物车
- javascript - 我需要使用 javascript 将“平面”json 对象转换为具有 1 对多匹配能力的嵌套 json 树
- batch-file - 使用 7zip 提取多个文件并为每个文件创建一个文件夹
- excel - 如何识别具有不同值的一个值的重复项
- r - 如何从带有文本和日期值的 .csv 文件中的列表中计算特定正面/负面词的频率?在 R 中