mysql 在左连接中得到 LIMIT 只计数 1 table
mysql get a LIMIT only count for 1 table in left-join
我使用以下查询从我的数据库中获取信息:
$sql = "SELECT * FROM vehicles v LEFT JOIN pictures f ON f.vehicles_id = v.id WHERE v.visible = 0";
我的数据库是这样的:
车辆:
+----------+--------------+
| id | name |
+----------+--------------+
| 1 | johanalj |
| 2 | hjgjhggjh |
+----------+--------------+
车辆图片:
+----------+--------------+----------------+
| id | url | vehicles_ID |
+----------+--------------+----------------+
| 1 | 3765345.png | 1 |
| 2 | 87e58974.png | 1 |
| 3 | e5e974.png | 1 |
| 4 | 3455345.png | 2 |
| 5 | 88974.png | 2 |
| 6 | e5e974.png | 3 |
+----------+--------------+----------------+
这很好用。现在的问题是我想添加一个限制,以便只选择 2 辆车。所以我尝试了:
$sql = "SELECT * FROM vehicles v LEFT JOIN pictures f ON f.vehicles_id = v.id WHERE v.visible = 0 LIMIT 2";
但是它选择了第一辆车和第一张附在它上面的图片,而不是只有 2 辆车。现在我怎样才能让查询仅使用车辆 table 的限制?
希望有人能帮帮我!
提前感谢x
SELECT *
FROM
(
SELECT * FROM vehicles
WHERE visible = 0
LIMIT 2
) v
LEFT JOIN pictures f ON f.vehicles_id = v.id
我使用以下查询从我的数据库中获取信息:
$sql = "SELECT * FROM vehicles v LEFT JOIN pictures f ON f.vehicles_id = v.id WHERE v.visible = 0";
我的数据库是这样的:
车辆:
+----------+--------------+
| id | name |
+----------+--------------+
| 1 | johanalj |
| 2 | hjgjhggjh |
+----------+--------------+
车辆图片:
+----------+--------------+----------------+
| id | url | vehicles_ID |
+----------+--------------+----------------+
| 1 | 3765345.png | 1 |
| 2 | 87e58974.png | 1 |
| 3 | e5e974.png | 1 |
| 4 | 3455345.png | 2 |
| 5 | 88974.png | 2 |
| 6 | e5e974.png | 3 |
+----------+--------------+----------------+
这很好用。现在的问题是我想添加一个限制,以便只选择 2 辆车。所以我尝试了:
$sql = "SELECT * FROM vehicles v LEFT JOIN pictures f ON f.vehicles_id = v.id WHERE v.visible = 0 LIMIT 2";
但是它选择了第一辆车和第一张附在它上面的图片,而不是只有 2 辆车。现在我怎样才能让查询仅使用车辆 table 的限制?
希望有人能帮帮我!
提前感谢x
SELECT *
FROM
(
SELECT * FROM vehicles
WHERE visible = 0
LIMIT 2
) v
LEFT JOIN pictures f ON f.vehicles_id = v.id