我的 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/