文章詳情頁
mysql - 這條sql語句為什么加上where就報錯?
瀏覽:212日期:2022-06-17 09:07:17
問題描述


這條SQL
SELECT *,SUM(tuanke_time.time) AS total_time FROM `tuanke_time` LEFT JOIN tuanke_student ON tuanke_student.Sid = tuanke_time.studentID WHERE total_time > 100GROUP BY tuanke_time.studentID
加上where就報錯說不存在total_time列,但是我看了明明存在啊
問題解答
回答1:total_time 是你給SUM(tuanke_time.time)取得別名,數據庫表字段本身沒有這列吧。
查詢total_time > 100,你可以試試
SELECT *FROM `tuanke_time` LEFT JOIN tuanke_student ON tuanke_student.Sid = tuanke_time.studentID GROUP BY tuanke_time.studentID having SUM(tuanke_time.time) > 100;回答2:
total_time是你在查詢輸出列中定義的,原來的表中沒有這個列。
回答3:外連接中on 和where是等效的,不能重復,直接去掉where
相關文章:
1. javascript - immutable配合react提升性能?2. javascript - sublime快鍵鍵問題3. phpstudy8.1支持win11系統嗎?4. 配置Apache時,添加對PHP的支持時語法錯誤5. vue.js - Vue 如何像Angular.js watch 一樣監聽數據變化6. css - 寫頁面遇到個布局問題,求大佬們幫解答,在線等,急!~7. 實現bing搜索工具urlAPI提交8. javascript - nodejs關于進程間發送句柄的一點疑問9. Apache 已經把網站根目錄的改為allow from all了,但是服務器還是不能訪問?10. javascript - 移動端上不能實現拖拽布局嗎?
排行榜

網公網安備