首页 > 解决方案 > 具有多个AND条件的mysql连接查询

问题描述

我不知道为什么我的 sql 查询不起作用

表用户

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'

我没有看到任何问题,但无法得到结果

标签: mysql

解决方案


假设 userid/msg_to/msg_from 是一个整数,并且 msg 表中的价格是一个数字,我会将 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

假设你放弃美元符号。


推荐阅读