我有两个表 rooms
和 users
。我只想获取 rooms.room_id
、users.user_name
和 user_id = 1
。我可以使用以下 sql 获得所有用户的结果...
select rooms.room_id,
rooms.user_id,
users.user_name
from rooms
LEFT JOIN users ON rooms.user_id = users.user_id
当我这样做以使用 user_id = 1 过滤结果时......我得到了错误。
select rooms.room_id,
rooms.user_id,
users.user_name
from rooms where rooms.user_id = 1
LEFT JOIN users ON rooms.user_id = users.user_id
我该怎么办?
最佳答案
ANSI-92 JOIN 语法(当您看到 LEFT JOIN ... 时)规定 WHERE
子句位于 JOIN 之后:
SELECT r.room_id,
r.user_id,
u.user_name
FROM ROOMS r
LEFT JOIN users ON u.user_id = r.user_id
WHERE r.user_id = 1
你很接近。
关于sql - 帮助 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2706460/