mysql - 具有多个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'
我没有看到任何问题,但无法得到结果
解决方案
假设 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
假设你放弃美元符号。
推荐阅读
- ruby-on-rails - URI::InvalidURIError (bad URI(is not URI?): nil) Active Storage service_url
- c# - LINQ 连接和求和查询返回重复的结果
- java - 针对在 Hyper-V 虚拟机中运行的 SQL Server 诊断慢速 JDBC 选择语句
- firebase - 如何使用 Firebase 创建电子商务网站
- javascript - 如何将 React 代码放入单独的文件中?
- c++ - Visual Studio 内存窗口字节顺序
- amazon-web-services - 在 AWS 中进行写入、版本和差异的最便宜的方法是什么?
- python - 如何在列表变量中重复一个值以在 matplotlib 中为条形图着色?
- android - 在android中更改View Pager2所选图像的图像视图背景
- google-apps-script - SpreadsheetApp.getActiveSpreadsheet() 返回:指定对象必须是工作表的一部分