sql语句,无法绑定由多个部分组成的标识符 "xxx"

Posted 进击的小牛牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.未给不同的数据表起别名。

2.sql 语句错误,可能少了空格,建议将sql语句打印出来检查。

 

 

以上是关于sql语句,无法绑定由多个部分组成的标识符 "xxx"的主要内容,如果未能解决你的问题,请参考以下文章

BugSQL无法绑定由多个部分组成的标识符

怎么用SQL语句同步两个表中的字段值?

C# 我combobox绑定了数据库中一个表中的ID 现在我要利用ID 查询对应的name 可是取不到combobox的值

sql中根据身份证号来计算年龄

sql用inner join内关联查询有多条记录一样只取一条?

SQL 错误 无法绑定多部分标识符