iT邦幫忙

0

MySQL問題 語法正確但無法跑出預想的表格

  • 分享至 

  • xImage

SELECT two.地區別, two.西醫師, two.中醫師, two.牙醫師, ('two.西醫師' + 'two.中醫師' + ' two.牙醫師 ')
FROM two
WHERE (((two.西醫師)<999999) AND ((two.中醫師)<999999) AND ((two.牙醫師)<999999))https://ithelp.ithome.com.tw/upload/images/20220415/20148271OV0CXdzzXW.png

欄位的名稱 不需要 多去使用 ' ' 來包起來.
‘西醫師' 這樣是 字串, 與欄位無關, 然後 字串 + 字串 , MySQL 幫你轉型, 計算結果為 0.
MySQL 不會回報錯誤,會計算,然後發出警告.
@一級屠豬士大大
Access migrate to MySQL
他的做法是「直接把 Access 的 SQL 貼到 MySQL 來執行」
碰到問題再來改
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
尼克
iT邦大師 1 級 ‧ 2022-04-15 14:49:06

建議你用 sqlfiddle 把資料整理好,一下子就會有人回覆你。

不瞞你說
我在前一篇已經提過了
/images/emoticon/emoticon25.gif
https://ithelp.ithome.com.tw/upload/images/20220415/20001787YQwpn2kzJr.png

現在的邏輯很簡單
給我答案,其餘免談
/images/emoticon/emoticon58.gif

尼克 iT邦大師 1 級 ‧ 2022-04-19 08:34:07 檢舉

/images/emoticon/emoticon10.gif

1
一級屠豬士
iT邦大師 1 級 ‧ 2022-04-15 15:13:14

欄位的名稱 不需要 多去使用 ' ' 來包起來.
‘西醫師' 這樣是 字串, 與欄位無關, 然後 字串 + 字串 , MySQL 幫你轉型, 計算結果為 0.
MySQL 不會回報錯誤,會計算,然後發出警告.

做了個例子,你看一下:

Demo

Access migrate to MySQL
他的做法是「直接把 Access 的 SQL 貼到 MySQL 來執行」
碰到問題再來改

1

得先問問你。知不知道你這一段

 ('two.西醫師' + 'two.中醫師' + ' two.牙醫師 ')

是在做啥事呢??

你因該以為是三個欄位的數值相加吧。
乍看之下好像是如此。
但實際上並不是。

我給你轉換個畫面,其實你寫的東西,跟以下是同樣的東西

 ('字串' + '字串' + '字串')

而你又用了相加,所以會做數值轉換。而「'字串'」轉成數值類會視為0
所以實際上你那邊的運行是

 (0 + 0 + 0)

輸出為0是正常的。且因為這也算是合理的運算。自然也不會有錯誤。

這樣是否能理解了??
基本的東西要先學好。不要這樣的小問題也上來問。
很像小學生不努力來要答案的。

0
wayne0127
iT邦新手 5 級 ‧ 2022-10-07 00:04:25
SELECT two.地區別, two.西醫師, two.中醫師, two.牙醫師, (two.西醫師 + two.中醫師 + two.牙醫師) AS '加總' FROM two WHERE two.西醫師 < 999999 AND two.中醫師 < 999999 AND two.牙醫師 < 999999

我要發表回答

立即登入回答