Here is the table structure
Column
fb_id
email
name
fname
lname
gender
fb_link
created
Column
id
referred_by
joinee
created
Currently implemented one SQL is (Example 1)
SELECT u.fb_id
,fb_link
,name
,r.referred_by
,u.created
FROM users u
LEFT OUTER JOIN referral r
ON u.fb_id=r.joinee
joinee referer
10152250261037651 NULL
10152604594389921 NULL
10154430845000507 1518673071699780
....
....
....
....
547146735389782 NULL
Here is the sql (Example 2)
SELECT u_joinee.fb_id joinee_fb_id
,u_referer.fb_id referer_fb_id
,u_joinee.NAME joinee_name
,u_referer.NAME referer_name
FROM users u_joinee
,users u_referer
,referral r_j
,referral r_r
WHERE u_referer.fb_id = r_r.referred_by
AND u_joinee.fb_id = r_j.joinee
joinee_fb_id referer_fb_id joinee_name referer_name
10154430845000507 1518673071699780 Saselsdein Bsdasd
What I am looking out for is I need both name in joinee_name
and referer_name
in the output. But I ma not able to use four tables in LEFT OUTER JOIN
clause like i did for example 1 I want to fetch both records which include both non referral and referral joinees Is there any way to expect required result as shown below
joinee_fb_id referer_fb_id joinee_name referer_name
10154430845000507 1518673071699780 Saselsdein Bsdasd
10154430845000347 Null asd NULL
10154430845000567 Null asd asdm NULL
10154230845000567 Null Dsd asdm NULL
10154330845000567 Null sdm NULL
101544553045000567 Null Esd aedm NULL
You can join with the users
table twice by giving it different aliases, just like you do with your implicit inner join.
I don't think you need to join with referral
twice. A single row in the referral
table links a referrer and a joinee.
SELECT u_joinee.fb_id joinee_fb_id ,u_referer.fb_id referer_fb_id, u_joinee.name joinee_name, u_referer.name referer_name
FROM users AS u_joinee
LEFT JOIN referral AS r ON r.joinee = u_joinee.fb_id
LEFT JOIN users AS u_referer ON r.referred_by = u_referer.fb_id
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.