2017-09-27 169 views
0

这是这些查询中的myquery,我使用inner join从4个表中获取结果。它返回从4个表中匹配的所有记录。 但我想也得到那些在fl_customer_profile表和fl_users表中匹配的reords。并且还得到那些id在4个表中匹配的记录。sql内部连接查询

SELECT u.*,c.*,s.*,p.* 
FROM fl_users u 
INNER JOIN fl_customer_profile c 
    on u.id = c.userID 
INNER JOIN fl_customer_subscription s 
    on u.id = s.userid 
INNER JOIN fl_subscription p 
    on s.planId = p.id 

fl_users表

ID 
| 879 | 

| 884 | 

fl_customer_profile表

userID 
| 879 | 

| 884 | 
+0

请粘贴表 – iamsankalp89

回答

0

我猜你正在试图让所有fl_customer_profile匹配的记录和fl_users是否存在于其他表与否,如果内连接存在于两个表中,则内连接将返回记录,而左连接将返回左表中的所有记录,而第二个表中将只返回匹配的行

SELECT u.*,c.*,s.*,p.* 
FROM fl_users u 
INNER JOIN fl_customer_profile c 
    on u.id = c.userID 
LEFT JOIN fl_customer_subscription s 
    on u.id = s.userid 
LEFT JOIN fl_subscription p 
    on s.planId = p.id 
+0

感谢您的这些解决方案 –