有两个表,用户表和操作表
用户表(users)的字段有:id,name
操作表(operate)的字段有:id, killer_user_id, killed_user_id请问,如何从操作表中选出同时带有 id, killer_user_id, killer_user_name, killed_user_id, killed_user_name 这样的记录。就是带上killer_user_id和killed_user_id的关联到users表上的name?

解决方案 »

  1.   

    select a.id,a.name from a left join (select b.killer_user_id as user_id from b union select b.killed_user_id user_id from b) c on a.id=c.user_id 
      

  2.   

    SELECT * FROM operate A LEFT JOIN users B ON A.killer_user_id=B.ID
    LEFT JOIN users B1 ON A.killed_user_id=B1.ID
      

  3.   

    select * 
    from operate o left join users u1 on o.killer_user_id=u1.id
    left join users u2 on o.killed_user_id=u2.id