所以,我有这个MySQL问题。加入哪里可以加入,否则不加入
我一直在看LEFT JOIN,INNER JOIN等。而且据我所知LEFT JOIN从左侧连接,如果右侧部分不存在,它的值将设置为NULL。如果没有匹配连接,则使用INNER JOIN,返回空集。
正如你在前面的陈述中看到的,我加入了不同的统计数据等等。但如果uid2不是朋友与uid1这将在我的情况下为null在我的情况下在朋友的所有领域。*
如何才能得到所有的朋友字段,如果他们是朋友,没有字段从friends
,如果他们没有。 (我不想在之前做一个单独的声明来检查他们是否是朋友)。
这是我以前statemenet:
SELECT matches.*, statistics.*, friends.*, users.username
FROM `matches`
LEFT JOIN statistics ON matches.uid1=statistics.uid
LEFT JOIN users ON matches.uid1=users.uid
LEFT JOIN friends ON matches.uid1=friends.fid AND matches.uid2=friends.uid
WHERE matches.mid IN (269,231,131)
您可以发布一些示例输出以显示您想要实现的功能吗? – liquorvicar