基于 MySQL 搜索的搜索

标签 mysql sql

在 MySQL 中我有两个表,比如 CustomersOrders,如下所示:

[Customers]
'ID'    'Name'    'Phone_nr'
 1       Ted       12345
 2       Anna      54321
 3       Anna      98765

[Orders]
'ID'    'Customer_ID'   'Price'
 1       2               100
 2       2               50
 3       1               70
 4       2               120
 5       3               80

现在我想搜索“Customers.Name = Anna”和价格 > 60 的订单 ID...我希望我可以这样做:

SELECT 'ID' FROM 'Orders' WHERE 'Customer_ID' = (SELECT 'ID' FROM 'Customers' WHERE 'Name' = 'Anna') AND 'Price' > 60

我希望它返回订单 ID 1、4 和 5。

所以基本上,根据在其他表中搜索找到的 ID 号进行搜索...

这可能会在大表上完成,“Anna”可能有 1k 个结果,我也愿意接受其他构建表的方法,特别是如果它需要较少的服务器,但我仍然有一个表中的项目链接到另一个表中的项目,我需要过滤两者。

希望我说清楚了,感谢您抽出时间。

最佳答案

SELECT Orders.Id
FROM Orders
INNER JOIN Customers ON Customers.Id = Orders.Customer_ID
WHERE Customers.'Name' = 'Anna' AND Orders.'Price' > 60

关于基于 MySQL 搜索的搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5472860/

相关文章:

mysql - 我想制作json数据

SQL Join 从左表和右表返回空行

mysql - 如何通过多个表插入数据

sql - 是否可以在 postgreSQL 中按子字符串排序?

c# - 代码中的问题添加到同一个 div 中?

mysql - 创建一个触发器来插入一些内容,如果

c# - 将数据网格的选定行加载到标签

PHP/SQL - 查询不显示所有数据

php - 如何从数组 ex : posts that belong to filter 3 and 5 中查询属于过滤器的帖子

MySql 将日期存储为 Date 或 BigInt (Epoch)