首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
华为云
V2EX  ›  问与答

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

  •  
  •   crist · 2016-07-30 11:05:31 +08:00 · 2733 次点击
    这是一个创建于 752 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如:
    relation 表里有字段: id 、 uid 、 hid 、 relation
    user 表里有字段: ID 、 name
    uid 和 hid 是对应 user 表里的 ID 的, relation 字段指明两个人的关系。
    现在我要联合查出一条关系记录,并且带有 uid 和 hid 的 name ,用一条语句如何查??求大神指点,谢谢~
    8 回复  |  直到 2016-07-30 11:39:38 +08:00
        1
    skydiver   2016-07-30 11:09:51 +08:00 via Android
    as
        2
    crist   2016-07-30 11:13:13 +08:00
    @skydiver 什么 as
        3
    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;
        4
    aprikyblue   2016-07-30 11:17:15 +08:00 via Android
    join
        5
    skydiver   2016-07-30 11:21:42 +08:00   ♥ 2
    @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 都可以省略,但是大致就是这个意思)
        6
    crist   2016-07-30 11:27:34 +08:00
    @phperstar Unknown column 'a.name' in 'field list'
        7
    phperstar   2016-07-30 11:28:25 +08:00
    @crist b.name ....这错误一看应该就知道呀,找不到字段名
        8
    crist   2016-07-30 11:39:38 +08:00
    @skydiver 这个是对的, join 同一个表两次,谢谢。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1074 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 15ms · UTC 23:35 · PVG 07:35 · LAX 16:35 · JFK 19:35
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1