mysql - 为什么我的 SQL 查询不适用于 JDBC Java
问题描述
这里
cat="SHOP-Large";
String sql="select *
from payments as pay
inner join bookingstatus as bs ON pay.space_id=bs.space_id and bs.bookingstatus='Booked' and `bs.cat`="+cat+"";
这个显示这个错误:
java.sql.SQLSyntaxErrorException: Unknown column 'bs.cat' in 'on clause'
我也尝试过删除那些 backtics
String sql="select *
from payments as pay
inner join bookingstatus as bs ON pay.space_id=bs.space_id
and bs.bookingstatus='Booked' and bs.cat="+cat+"";
这个显示:
java.sql.SQLSyntaxErrorException: Unknown column 'SHOP' in 'on clause'
我究竟做错了什么?
解决方案
您需要将您的第一个 and 语句更改为 where 语句。您还需要变量 cat 的引号。
对于第二个语句,试试这个:
String sql="select *
from payments as pay
inner join bookingstatus as bs ON pay.space_id=bs.space_id
where bs.bookingstatus='Booked' and bs.cat='"+cat+"'";
这可能无法解决您的所有错误,但可以解决一些问题。
推荐阅读
- angular - 如何通过 RXJS 中的另一个 observable 修改 observable 流?角
- ios - 需要更多关于处理 NSMutableAttributed 字符串的文件结构的帮助
- php - 为什么我没有编码时服务器会添加双斜杠?
- reactjs - 如何在同一个项目中配置 React Js 和 React Native?
- c++ - 如何将一维数组作为二维数组访问?
- python - 制作在线用户的对象数组
- python - CSV overwrites username and password in Python
- sql - 与领先/落后汇总
- laravel - One To Many associate
- mysql - Mysql command from host not taking change