mysql 如何查询一条记录里面的两个相同属性的值呢?

2016-07-30 11:05:31 +08:00
 crist
如:
relation 表里有字段: id 、 uid 、 hid 、 relation
user 表里有字段: ID 、 name
uid 和 hid 是对应 user 表里的 ID 的, relation 字段指明两个人的关系。
现在我要联合查出一条关系记录,并且带有 uid 和 hid 的 name ,用一条语句如何查??求大神指点,谢谢~
5180 次点击
所在节点    问与答
8 条回复
skydiver
2016-07-30 11:09:51 +08:00
as
crist
2016-07-30 11:13:13 +08:00
@skydiver 什么 as
phperstar
2016-07-30 11:17:15 +08:00
select a.uid,a.hid,a.name from relation a,user b where b.Id = a.uid and uid = xxx;
aprikyblue
2016-07-30 11:17:15 +08:00
join
skydiver
2016-07-30 11:21:42 +08:00
@crist 同一个语句里可以 join 两次同一个表, as 取个别名就行了。

select id, uid, hid, ralation, A.name as uname, B.name as hname from relation left join user as A on A.ID = uid left join user as B on B.ID = hid.

(好像 mysql 的话所有的 as 都可以省略,但是大致就是这个意思)
crist
2016-07-30 11:27:34 +08:00
@phperstar Unknown column 'a.name' in 'field list'
phperstar
2016-07-30 11:28:25 +08:00
@crist b.name ....这错误一看应该就知道呀,找不到字段名
crist
2016-07-30 11:39:38 +08:00
@skydiver 这个是对的, join 同一个表两次,谢谢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/295962

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX