简体   繁体   English

MySQL-如何通过LEFT JOIN实现所需的输出?

[英]MySQL - How do I achieve my desired output with LEFT JOIN?

The following query: 以下查询:

   SELECT friendship.dom, friendship.sub,
          user.id, user.fname, user.lname
     FROM friendship
LEFT JOIN user ON friendship.dom = user.id

results in the following: 结果如下:

dom  sub  id  fname  lname 
---------------------------
2    1    2   Seun   Soti
1    2    1   Donal  Lynch

But how do I make the output look like: 但是我如何使输出看起来像:

dom  sub  id_dom  fname_dom  lname_dom  id_sub  fname_sub  lname_sub
----------------------------------------------------------------------
2    1    2       Seun       Soti       1       Donal      Lynch
1    2    1       Donal      Lynch      2       Seun       Soti

I just need both users ( dom and sub ) to be included in the output. 我只需要两个用户( domsub )都包括在输出中。

How about this: 这个怎么样:

SELECT 
  f.dom, f.sub,
  d.id dom_id, d.fname dom_fname, d.lname dom_lname,
  s.id sub_id, s.fname sub_fname, s.lname sub_lname
FROM friendship f
LEFT JOIN user d ON f.dom = d.id
LEFT JOIN user s ON f.sub = s.id

Try this: 尝试这个:

SELECT friendship.dom, friendship.sub, user.id AS id_dom, ...
FROM friendship
LEFT JOIN user ON friendship.dom = user.id

That should work for you. 那应该为您工作。 HTH HTH

 SELECT friendship.dom, friendship.sub,
      user.id, user.fname, user.lname,
      u1.id, u1.fname, u1.lname
 FROM friendship 
 FROM friendship
 LEFT JOIN user ON friendship.dom = user.id 
 LEFT JOIN user as u1 ON friendship.sub = u1.id

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM