簡體   English   中英

MySQL查詢與多個AND條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM