大家好,我真的搞砸了。我尝试过,但是失败了。我有以下三个表,其中用户极化在不同的日期进行了2次搜索,表b的第二次搜索中增加了朋友。我只需要构建查询即可给我两个新添加的朋友(不会出现在第二个搜索列表的末尾)。在表c中,将有20个与usid 1一起显示Polard的朋友,然后22个与usid 2一起显示的朋友,这意味着总记录将为42。
table a
uid name
1 karos
2 polard
table b
usid umid name friends
1 2 polard 20
2 2 polard 22
table c
usrid usid name friends
1 1 hansy 10
2 1 boje 23
. . . .
. . . .
您的帮助将不胜感激。
先感谢您。
最佳答案
这是你想要的?
SELECT usrid
FROM c
WHERE usid = 2
AND usrid NOT IN (SELECT usrid FROM c WHERE usid = 1)
如果您希望两个usid值也都是动态的,那么假设您需要对Polarid的最新usid进行操作,则可能类似于
SELECT usrid
FROM c
WHERE usid =
SELECT MAX (usid) FROM b WHERE name = 'polard')
AND usid NOT IN
(SELECT usrid FROM c WHERE usid =
SELECT MAX (usid) - 1 FROM b WHERE name = 'polard'))
假设usid值是表b中每个uminum的整数增量值。
如果他们不满意,那将有点复杂,因为您需要执行Order by并获得倒数第二个umid值
关于mysql - SQL好友数据表查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3941585/