【发布时间】:2017-04-22 18:35:30
【问题描述】:
我有 2 个这样的表:
餐桌人
id | name
---------
1 | john
2 | mike
3 | carl
4 | keny
5 | anna
桌车
owner | vechicle
----------------
1 | RTA457
3 | GSW684
3 | GKI321
3 | SNE798
5 | YTT662
所以,我想对两个表进行查询,如下所示:
SELECT * FROM person LEFT JOIN vehicle ON person.id=vehicle.owner
得到这些结果
id | name | owner | vechicle
----------------------------
1 | john | 1 | RTA457
2 | mike | NULL | NULL
3 | carl | 3 | GSW684
3 | carl | 3 | GKI321
3 | carl | 3 | SNE798
4 | keny | NULL | NULL
5 | anna | 5 | YTT662
最后,我想限制为 3 人,显示他们所有的车辆,如下所示:
id | name | owner | vechicle
----------------------------
1 | john | 1 | RTA457
2 | mike | NULL | NULL
3 | carl | 3 | GSW684
3 | carl | 3 | GKI321
3 | carl | 3 | SNE798
有什么办法吗?
【问题讨论】:
-
你想如何决定限制哪三个人?您需要以某种方式订购您的查询。因此,一般来说,您可以从 Person where XXX order by xxxx limit 3 中选择 ID。将其结果用作子查询以从车辆表中进行选择。
-
前3个,就像一个“LIMIT 3”,顺序不相关。子查询的想法听起来不错,遗憾的是我不知道该怎么做。