0

这可能是一个基于这个的持续问题

从数据库中 id 与数组匹配的两个表中获取信息?

在上述问题的答案中,我询问了如何根据 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");

哪个有效,但是否可以仅通过一个查询来完成?

4

1 回答 1

1

IFsteamgames是逗号分隔的,你可以这样做:

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
于 2013-10-12T01:28:18.453 回答