2011-08-28 65 views
0

下面的查詢:MySQL - 如何用LEFT JOIN實現我想要的輸出?

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

結果如下:

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

但如何使輸出的樣子:

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 

我只需要兩個用戶(domsub)被包括在輸出中。

回答

2

如何:

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 
1

試試這個:

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

這應該爲你工作。 HTH

1
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