Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有两张桌子,它们如下:
USERS ORDERS
我想选择 ORDERS 表中至少有 1 个或更多订单的所有用户。我知道在 MySQL 中有一个内联查询,但现在我必须选择所有用户,然后再进行一次查询,看看每个用户是否有订单——所有这些都使用 PHP 循环。
我现在所做的在道德上是不正确的,所以我基本上只是想在 ONE MySQL 查询中选择 ORDERS 表中已引用的所有用户。
这是您应该使用的查询
select distinct u.* from users u inner join orders o on o.user_id = u.id;
注意distinct和u.*。此查询不会从中选择字段,orders也不会选择同一用户两次(如果一个用户有多个订单)。
distinct
u.*
orders
演示:http ://sqlfiddle.com/#!2/6ebcc/3
您可以使用mysql 连接语法。假设您的两个表都有 userid 列,这是示例:
SELECT * FROM USERS a JOIN ORDERS b ON a.UserId = b.UserId
这是一个简单的数据库操作,解释见这里