我有3个表MySQL的 - 选择用户名来自两个不同的表在一个查询
- 用户表的用户名和用户ID,
- 与用户ID用户的领导人板和得分
- 领袖与用户ID和numOfLikes喜欢的董事会
我想选择最喜欢的用户的名称和最高分的用户的名称。但我的问题是,当我写查询时,我在那里复制了name
字段。我该怎么办?
我有3个表MySQL的 - 选择用户名来自两个不同的表在一个查询
我想选择最喜欢的用户的名称和最高分的用户的名称。但我的问题是,当我写查询时,我在那里复制了name
字段。我该怎么办?
我用下面的我的查询三个表
要获得用户的详细信息,最大比分使用以下
select usrtbl.username,usrtbl.userid,tbl2.score from usertable usrtbl inner join table2 tbl2 on usrtbl.userid=tbl2.userid order by tbl2.score
desc limit 1
要获得喜欢的最大数量的用户详细信息使用以下
select usrtbl.username,usrtbl.userid,tbl3.numOfLikes from usertable usrtbl inner join table3 tbl3 on usrtbl.userid=tbl3.userid order by tbl3.numOfLikes
desc limit 1
要获得所有在一个查询使用下面的查询
select usrtbl.username as 'user_with_max_score',usrtbl.userid as 'userid_of_user_with_max_score',
tbl2.score as 'max_score',usrtbl2.username as 'user_with_max_likes',usrtbl2.userid as 'userid_of_user_with_max_score' ,
tbl3.numOfLikes as 'max_likes' from usertable usrtbl2 inner join table3 tbl3 inner join usertable usrtbl inner join table2 tbl2
on usrtbl.userid=tbl2.userid and usrtbl2.userid=tbl3.userid order by tbl2.score desc,tbl3.numOfLikes desc
limit 1
是的,但是如何将它们放入一个查询? –
@Babibu - 你想找到用户与最高分和用户最喜欢在一个查询? –
是的,和我不能使用名称键两次的问题... –
您可以表名。名称选择
使用别名可以帮助你
SELECT a.id as id_a,
b.id as id_b,
c.id as id_c
from a
inner join b
on a.id = b.a_id
inner join c
on a.id = c.a_id
我认为别名正是我正在寻找的。但看看@Fathah Rehman P的答案,你如何使用别名来做一个查询?我的重复不在声明中(只是使用用户ID),但在数据中(两个结果中我有一个用户名,我不能使用“name”键两次) –
您可能正在使用SELECT *
。您应指定的字段名称:
SELECT u.user_id, u.name, li.numOfLikes FROM users u INNER JOIN likes li ON (u.user_id=li.user_id) ORDER BY li.numOfLikes
SELECT u.user_id, u.name, s.score FROM users INNER JOIN scores s ON (u.user_id=s.user_id) ORDER BY s.score
秀德查询。可以帮助 – danihp
通过名称或组使用不同的关键字 –
您是否只想拥有最喜欢和得分最高的单一用户?或者你想要返回所有用户? – Taryn