表一:
|user_id|hotel_id|
| 1 | 4 |
| 1 | 5 |
| 2 | 6 |
| 4 | 7 |
表二:
|hotel_id|hotel_name|more_ifo|
| 4 | bla |bla |
| 5 | bla |bla |
| 6 |more bla |bla |
| 7 | bla |bla |
我想获得某个用户拥有的酒店的所有信息,例如用户一个酒店4和5 ..任何帮助?我尝试使用连接,但我想我没有正确使用它??
答案 0 :(得分:3)
SELECT users.*, hotels.*
FROM users
INNER JOIN hotels
ON users.hotel_id = hotels.hotel_id
请注意,在*
子句中使用SELECT
被视为不良做法;我只在这里作为使用连接的一个例子的一部分。
如果您要搜索与特定用户相关联的酒店,只需添加WHERE
子句即可:
SELECT users.*, hotels.*
FROM users
INNER JOIN hotels
ON users.hotel_id = hotels.hotel_id
WHERE users.user_id = ?
答案 1 :(得分:2)
t1
是table one
的别名
t2
是别名table two
select t1.user_id,t2.hotel_id,t2.hotel_name,t2.more_info
from table_one t1 INNER JOIN table_two t2
ON t1.hotel_id=t2.hotel_id
where t1.user_id=1;
答案 2 :(得分:1)
您可以使用exists
子句查询所有酒店:
select *
from hotels
where exists
(
select *
from users
where users.hotel_id = hotels.hotel_id
and users.user_id = @YourUserId
)
答案 3 :(得分:1)
Select B.more_ifo
From table_one A, table_two B
Where A.hotel_id = B.hotel_id
这不行吗?
之后;
Select B.more_ifo
From table_one A, table_two B
Where A.hotel_id = B.hotel_id
AND A.hotel_id IN (4, 5)