uid suid
1 5
1 6
2 5
5 1
5 2
我通过POST方法给它一个独特的“uid”,称之为1.我需要做的是返回所有“suid”,其中$uid“有”suid AND suid(as uid)“has”$uid(as suid.)因此,在上面的例子中,脚本应该只返回5.
我知道我的第一步是
"Select * FROM table Where uid = $uid"
那么也许我必须遍历结果并查询DB WHERE suid = $uid.
我不知道如何进行第二次查询.有什么建议?
解决方法:
这里的一个选项是自连接,连接条件是一个表中的uid与另一个表中的suid匹配,反之亦然,第一个表中的suid.
SELECT
t1.suid
FROM yourTable t1
INNER JOIN yourTable t2
ON t1.uid = t2.suid AND
t1.suid = t2.uid
WHERE
t1.uid = 1
在应用WHERE子句之前,上面的查询将返回两个记录:
uid | suid (uid not selected)
1 | 5
5 | 1
然后,WHERE子句使用您传递的uid参数选择第一条记录,这就是我们想要的.
在这里演示:
Rextester
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。