php - 从 2 个表中提取仅收集匹配项目的结果

标签 php mysql

我的 SQL 面板中有 2 个表。我有一个看起来像这样的

这个叫做游戏:

ID | Game | Season
 1   MKX2     3
 2   GMR      4
 3   GH4      3

然后我为注册了一款名为 game_stats 的游戏的用户准备了一个:

ID | User    | GID | Season | Points
 1   Jordan     1      2        10
 2   Jordan     1      3        15
 3   Jordan     3      3        25
 4   Grape      2      1        16
 5   Grape      2      4        17

如何获取用户当前赛季的最新 game_stats?假设我想获取乔丹所有最理性的比赛统计数据。但是,我只想获取与游戏季节匹配的行。例如,如果我捕获乔丹,我会想要这些行:

ID | User    | GID | Season | Points
 2   Jordan     1      3        15
 3   Jordan     3      3        25

因此,game_stats 中的 ID 1 被忽略,因为没有与原始游戏表中的数字“2”匹配的赛季。如果他签约的话,这将给我他当前的赛季。

如何组合表格来做到这一点?

最佳答案

您可以使用INNER JOIN

SELECT a.ID,
       a.USER,
       a.GID,
       a.Season,
       a.Points
FROM   game_stats a
       JOIN games b
         ON a.GID = b.ID
            AND a.Season = b.m_season 

或者您可以使用Exists

SELECT ID,
       USER,
       GID,
       Season,
       Points
FROM   game_stats a
WHERE  EXISTS (SELECT 1
               FROM   game_stats b
               WHERE  a.GID = b.ID
                      AND a.Season = b.m_season) 

关于php - 从 2 个表中提取仅收集匹配项目的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39928106/

相关文章:

php - 使用pdo包装器类时未捕获到异常'PDOException'

php - 在 PHP 回显字符串中使用行尾

php - undefined offset :1- Laravel Error exception

mysql - 多次更新同一行

php - 显示 HTML 表单数据库中的数据

php - 排除哈希值和匹配ID

php - 如何捕获PHP错误,以便可以将其发送回AJAX响应中?

mysql - 多次更新mysql

mysql - 处理交易表中的到期信用?

php - 所见即所得的 HTML/CSS 生成器