sql语句,⽆法绑定由多个部分组成的标识符xxx
String sql = "select TOP 7 news_id,news_title,news_addtime,news_url from web_news_info a"
+ "LEFT JOIN web_news_small_type b "
+ "ON a.small_type_id = b.small_type_id "
+ "LEFT JOIN web_news_big_type c ON a.big_type_id = c.big_type_id "
+ "WHERE c.big_type_name = '新闻公告' and b.small_type_name <> '新闻' and news_view = 'true' ORDER BY is_top DESC, news_addtime DESC";
今天在写⼀段sql语句时遇到的问题,上⾯的代码放在数据库中查询,没有问题,
但是运⾏程序的时候突然报了错,说什么多个small_type_id字段重复,我不是写了别名a,b,c吗。
同事了⼏分钟把sql打印出来终于到问题了,a后⾯少了⼀个空格,同事提醒我说格式⼀定要放好,空格要么在每⼀⾏前⾯加,要么在每⼀⾏后⾯加,我之前都没注意到这个,尴尬。
String sql = "select TOP 7 news_id,news_title,news_addtime,news_url from web_news_info a "
+ "LEFT JOIN web_news_small_type b "
+ "ON a.small_type_id = b.small_type_id "
+ "LEFT JOIN web_news_big_type c ON a.big_type_id = c.big_type_id "
+ "WHERE c.big_type_name = '新闻公告' and b.small_type_name <> '新闻' and news_view = 'true' ORDER BY is_top DESC, news_addtime DESC";
原因:
1.未给不同的数据表起别名。
sql包含哪几个部分
2.sql 语句错误,可能少了空格,建议将sql语句打印出来检查。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。