Because you screwed syntax order…
Multi join works like this:
select u.user_name,u.user_emailid,u.user_mobno, q.que1_name,q.qa1,q.que2_name,q.qa2,q.que3_name,q.qa3,q.que4_name,q.qa4,q.que5_name,q.qa5,q. que6a_name,q.qa6a,q.que6b_name,q.qa6b,q.que7_name,q.qa7,
r1.ref_name,r1.ref_email,r1.ref_mobno, q.que1_name,q.qa1,q.que2_name,q.qa2,q.que3_name,q.qa3,q.que4_name,q.qa4,q.que5_name,q.qa5,q. que6a_name,q.qa6a,q.que6b_name,q.qa6b,q.que7_name,q.qa7,
r2.ref_name,r2.ref_email,r2.ref_mobno, q.que1_name,q.qa1,q.que2_name,q.qa2,q.que3_name,q.qa3,q.que4_name,q.qa4,q.que5_name,q.qa5,q. que6a_name,q.qa6a,q.que6b_name,q.qa6b,q.que7_name,q.qa7,
r3.ref_name,r3.ref_email,r3.ref_mobno, q.que1_name,q.qa1,q.que2_name,q.qa2,q.que3_name,q.qa3,q.que4_name,q.qa4,q.que5_name,q.qa5,q. que6a_name,q.qa6a,q.que6b_name,q.qa6b,q.que7_name,q.qa7
from question q
LEFT JOIN user u USING(user_id)
LEFT JOIN reference_1 r1 USING(ref_id_1)
LEFT JOIN reference_2 r2 USING(ref_id_2)
LEFT JOIN reference_3 r3 USING(ref_id_3)
WHERE q.flag = 1
Where must be at the end…
Joins must be stated completely and cannot be mixed. Order in dependency works you can have sub and subsub and so on dependencies without a problem.
One thing you did pretty good: You set-up same name for foreign key in both JOIN tables.
In this case you can simply replace r1.t1 = r2.t2 stuff and just define the join table in function USING(t1). 🙂