2017-07-07 56 views
-3

這是我的查詢的文本,有一個語法錯誤。查詢的語法有什麼問題?

select cc, sum(a.hours),b.labcost 
from labour a,othshop b 
where lab_cd='hs' and a.mon=03 and a.yr=2010 
group by a.cc 
HAVING a.cc=b.occ AND b.mon=03 and b.yr=2010; 

所有的表格都存在。這個查詢的文字有什麼問題?

+0

歡迎來到SO。請參考[tour](https://stackoverflow.com/tour),閱讀[如何提問](https://stackoverflow.com/questions/how-to-ask),並編輯您的問題以包含[最小,完整和可驗證示例](https://stackoverflow.com/help/mcve)。 – jeff6times7

回答

0

沒有必要在having,只是:

select a.cc, sum(a.hours),b.labcost 
from labour a,othshop b 
where lab_cd='hs' and a.mon=03 and a.yr=2010 
and a.cc=b.occ AND b.mon=03 and b.yr=2010 
group by a.cc, b.labcost 

注意b.labcost添加到GROUP BY。否則,您需要對其執行彙總,例如avg(b.labcost)

+0

謝謝。但我只需要通過a.cc進行分組此程序是在DBASE系統中創建的,我試圖將其轉換爲基於mysql和php的數據庫。 –

+0

然後按照我的建議 - 嘗試找出如何將多個「b.labcost」轉換爲每個「a.cc」單行。明顯的候選人是「avg」,「sum」或「coalesce」 – Dimgold