我有两张桌子,它们如下:
USERS
ORDERS
我希望选择ORDERS表中至少有1个或更多订单的所有用户。我知道在MySQL中有一个内联查询,但是现在我必须选择所有用户,然后再查询每个用户是否有订单 - 所有这些都使用PHP循环。
我现在正在做的事情在道德上是不正确的,所以我基本上只想选择在一个MySQL查询中的ORDERS表中引用的所有用户。
答案 0 :(得分:0)
这是您应该使用的查询
select distinct u.* from users u
inner join orders o on o.user_id = u.id;
请注意distinct
和u.*
。此查询不会从orders
中选择字段,也不会选择相同的用户两次(如果一个订单有多个订单)。
答案 1 :(得分:-1)
您可以使用mysql join 语法。假设您的两个表都有userid列,这就是示例:
SELECT * FROM USERS a JOIN ORDERS b ON
a.UserId = b.UserId
这是一个简单的数据库操作,请参阅此处获取解释join