SELECT two.地區別, two.西醫師, two.中醫師, two.牙醫師, ('two.西醫師' + 'two.中醫師' + ' two.牙醫師 ')
FROM two
WHERE (((two.西醫師)<999999) AND ((two.中醫師)<999999) AND ((two.牙醫師)<999999))
建議你用 sqlfiddle 把資料整理好,一下子就會有人回覆你。
欄位的名稱 不需要 多去使用 ' ' 來包起來.
‘西醫師' 這樣是 字串, 與欄位無關, 然後 字串 + 字串 , MySQL 幫你轉型, 計算結果為 0.
MySQL 不會回報錯誤,會計算,然後發出警告.
做了個例子,你看一下:
得先問問你。知不知道你這一段
('two.西醫師' + 'two.中醫師' + ' two.牙醫師 ')
是在做啥事呢??
你因該以為是三個欄位的數值相加吧。
乍看之下好像是如此。
但實際上並不是。
我給你轉換個畫面,其實你寫的東西,跟以下是同樣的東西
('字串' + '字串' + '字串')
而你又用了相加,所以會做數值轉換。而「'字串'」轉成數值類會視為0
所以實際上你那邊的運行是
(0 + 0 + 0)
輸出為0是正常的。且因為這也算是合理的運算。自然也不會有錯誤。
這樣是否能理解了??
基本的東西要先學好。不要這樣的小問題也上來問。
很像小學生不努力來要答案的。
SELECT two.地區別, two.西醫師, two.中醫師, two.牙醫師, (two.西醫師 + two.中醫師 + two.牙醫師) AS '加總' FROM two WHERE two.西醫師 < 999999 AND two.中醫師 < 999999 AND two.牙醫師 < 999999