[英]mysql join query with multiple AND condition
我不知道為什么我的SQL查詢不起作用
TABLE用戶
userid firstname lastname
1 JOHN DEO
2 JANE DEO
表味精
msg_id msg_from msg_to received age city country product weight price timestamp
1 userid(1) userid(2) null 26 any any rice 25 $100 2018-10-04 14:37:12
我的查詢:
SELECT SND.userid, SND.firstname, SND.lastname, M.age, M.city, M.country
FROM msg as M
JOIN users as SND
ON SND.userid = M.msg_from
WHERE M.msg_to = 'userid 1' AND product = 'rice' AND price >='$100'
我看不到任何問題,但無法獲得結果
假設userid / msg_to / msg_from是整數,而msg表中的price是一個數字,我將WHERE子句更改為
WHERE M.msg_to = 1 AND product = 'rice' AND price >= 100.0
如果它們是字符串,那么您可以做
WHERE M.msg_to = '1' AND product = 'rice' AND CAST(price AS DECIMAL(10,2)) >= 100.0
假設您放下美元符號。
如果您想獲得結果,請執行以下查詢
SELECT SND.userid, SND.firstname, SND.lastname, M.age, M.city, M.country
FROM msg as M
JOIN users as SND
ON SND.userid = M.msg_from
WHERE M.msg_to = 'userid 2' AND product = 'rice' AND price >='$100'
在您的代碼結果中未顯示,因為根據您的表視圖,userid與msg_to列不匹配
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.