我想从一个表中选择符合特定条件的数据,然后根据我刚刚选择的数据的条件从另一个表中选择数据,并且能够查看两个表中的选择。我尝试使用嵌套选择:
$query =
"
SELECT
`url`, `userID`, `likes`, `time`, `latitude`, `longitude`, `distance `,
(SELECT `up` from userHistory WHERE userHistory.url = photoList.url AND userHistory.userID = photoList.userID)
FROM
photoList
WHERE
`valid` = '1' AND `time` > '$validTime' AND `likes` > '-6'
HAVING
`distance` < '1'
ORDER BY
`time` DESC
LIMIT
'0' , '200'";
基本上我想在 photoList 中选择一个对象...然后在 userHistory 中选择匹配所选 photoList 行中的 url 和 userID。我想同时选择这两个,这样当我在 PHP 中循环时,我可以执行以下操作:
while ($row = $result->fetch_assoc()){
$storeObjects[] = array("url" => $row["url"], "userID" => $row["userID"],
"latitude" => $row["latitude"], "longitude" => $row["longitude"],
"likes" => $row["likes"],
"time" => $row["time"], "distance" => $row["distance"],
"userLiked" => $row["up"]); //$row["up"] is ALWAYS NULL
}
在上述循环中,$row["up"] 始终为 NULL,而行中的其他类别是预期值。我想知道 $row["up"] 是否是访问子查询选择的数据的正确方法。