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語句打印出來檢查。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM