研究了下! 查倒是查出来了!
但是好像和我的思路不对!先上语句吧!
SELECT A.* FROM dede_member_friends A INNER JOIN dede_member_friends B ON A.fid=B.mid AND B.fid=A.mid WHERE A.mid=80
1、查询表A条件为 mid=80 #查他的关注!
2、筛选出互相关注的表内容 进行查询!
然后我们需要了解下面2个函数!
INNER JOIN
在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
LEFT JOIN
关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
然后我们来分开剖析了解下!
整体思路 就是查询 【表A的全部内容】 【来自内容】 【条件为A的粉丝】
我们把上面3个部分分开来理解就好理解了!
第一步,表A的全部内容
就查询A.*所有表内全部的内容,就是后面需要展示的内容
SELECT A.*
第二步,来自哪里的内容呢!
from A表 INNER JOIN B表 条件 A的关注=B的粉丝 AND B的关注=A的粉丝
就是用INNER 连接 A和B的表
on就是连接的条件
条件就是首先 A里面的fid == B里面的mid
这时候我们就刷出来一部分了!可以理解为得到了一个新的表
然后我们AND一下,从新的表里面再查询
B里面的FID=A里面的mid
这样我们就把剩下的刷选出来了!
这样我们就把全站互相关注的剔除出来了
第三步:条件
第二步已经把全站互相关注的都刷选出来了! 第三步再加上 条件是谁的关注就行了!
WHERE A.mid=80
好了!说完了!不知道你们理解没有!
然后坑的是,
我需要查询A的粉丝,然后粉丝里面如果关注了就显示关注,没关注就显示没关注! 而不是这样只显示互相关注的!
后续等我想想再更新方法吧! 思路有了!
就是查询 A的全部内容 和 B的 Y/N 条件 为 MID=80 ! 然后需要筛选下B里面的mid是否等于A里面的FID 返回yes或者NO
就是不知道怎么写!