这可能是一个基于此的连续问题
Get info from two tables in database where id match an array?
在上面问题的回答中,我问了如何根据json文件匹配两个表的数据。
好人在他的示例中很好地解释了如何将 json 数据存储在数组中并仅查询数据库一次,这比我使用 foreach 的尝试要快得多。
这效果很好。
好吧,由于 json 文件有时是从其他网站提取的,因此由于 json 文件,加载页面需要更多时间,所以我决定将 json 数组记录到我自己的数据库中并从那里提取它,这将使网站加载更多快点。
但我仍然处于通过 mysql 的学习曲线上,不知道如何解决更复杂的事情
这是我的试用
$gamesquery = mysqli_query($conn,
"SELECT steamgames
FROM members
WHERE steamID='$steam64id'");
$data = mysqli_fetch_array($gamesquery);
$gameslist = $data['steamgames'];
$querygamename = mysqli_query($conn,
"SELECT sc_steamgames.*, sc_steamgameprices.*
FROM sc_steamgames
LEFT JOIN sc_steamgameprices on (sc_steamgames.appid=sc_steamgameprices.appid)
WHERE sc_steamgames.appid IN ($gameslist)
ORDER BY title");
这是可行的,但是否可以仅通过一个查询来实现?
最佳答案
如果steamgames
是逗号分隔的,你可以这样做:
SELECT sc_steamgames.*, sc_steamgameprices.*
FROM sc_steamgames
LEFT JOIN sc_steamgameprices on (sc_steamgames.appid=sc_steamgameprices.appid)
WHERE FIND_IN_SET(sc_steamgames.appid,(
SELECT steamgames
FROM members
WHERE steamID='$steam64id'))
ORDER BY title
关于php - 如何根据第一个表匹配获取第二个和第三个表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19329422/