我有一个类似于以下内容的MySQL数据库:
uid suid
1 5
1 6
2 5
5 1
5 2
我给它一个独特的" uid"通过POST方法,调用它1.我需要做的是返回所有" suid" $ uid"有" suid and suid(as uid)" has" $ uid(作为suid。)因此,在上面的例子中,脚本应该只返回5.
我知道我的第一步是
"Select * FROM table Where uid = $uid"
那么也许我必须遍历结果并查询DB WHERE suid = $ uid。 我不知道如何进行第二次查询。有什么建议吗?
答案 0 :(得分:1)
此处的一个选项是自加入,连接条件是一个表中的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
子句然后使用您传递的python .\manage.py runserver
参数选择第一条记录,这就是我们想要的。
在这里演示:
答案 1 :(得分:1)
这就是我提出的:
$uid = $_POST["UID"];
$myquery = "SELECT * FROM Table WHERE uid = '$uid'";
$result = $conn->query($myquery);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$myquery2 = "SELECT * FROM Table WHERE uid = '" . $row['suid'] . "' AND suid = '$uid'";
$result2 = $conn->query($myquery2);
if ($result2->num_rows > 0) {
while($row = $result2->fetch_assoc()) {
echo $row["uid"].
"!@#$";
}
}
}
}
$conn->close();
?>
我觉得它不漂亮,但它确实有效。