这可能是基于此的继续存在的问题

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

09-30 18:19
查看更多