0

我有两张桌子,它们如下:

USERS
ORDERS

我想选择 ORDERS 表中至少有 1 个或更多订单的所有用户。我知道在 MySQL 中有一个内联查询,但现在我必须选择所有用户,然后再进行一次查询,看看每个用户是否有订单——所有这些都使用 PHP 循环。

我现在所做的在道德上是不正确的,所以我基本上只是想在 ONE MySQL 查询中选择 ORDERS 表中已引用的所有用户。

4

2 回答 2

3

这是您应该使用的查询

select distinct u.* from users u
inner join orders o on o.user_id = u.id;

注意distinctu.*。此查询不会从中选择字段,orders也不会选择同一用户两次(如果一个用户有多个订单)。

演示:http ://sqlfiddle.com/#!2/6ebcc/3

于 2013-01-25T04:52:40.197 回答
-1

您可以使用mysql 连接语法。假设您的两个表都有 userid 列,这是示例:

SELECT * FROM USERS a JOIN ORDERS b ON
a.UserId = b.UserId

这是一个简单的数据库操作,解释见这里

于 2013-01-25T04:38:34.353 回答