Mysql 查询 - 帮助从 2 个表中获取数据

Mysql query - help getting data from 2 tables

我可以处理简单的 mysql 东西,通常只有一个 tables,但我正在处理/修改脚本以从具有 2 tables 的数据库中提取游戏成就.. 这是一次访问两个 tables .. 所以我有点迷茫。我可以理解下面的行:

SELECT * FROM achievables 
WHERE gameid = '1' 
AND achievementid IN 
(
    SELECT achievementid 
    FROM achievements 
    WHERE userid = '1111'  
    AND gameid = '1'
) 

这几乎是完美的..但是我想要的是也从那第二个 table 中获取 DATE 字段..我本以为这是一个简单的 achievementid, date - 但那并没有拉任何记录,也不会在第二部分使用 SELECT *..

您需要加入表格

SELECT a1.*, a2.date
FROM achievables a1
JOIN achievements a2 on a1.achievementid = a2.achievementid
                    and a1.gameid = a2.gameid 
WHERE a1.gameid = '1' 
AND a2.userid = '1111'  

您只需要简单地使用 JOIN 而不是 IN

试试这个:

SELECT * 
FROM achievables A 
INNER JOIN achievements B ON A.achievementid = B.achievementid AND A.gameid = B.gameid AND B.userid = '1111' 
WHERE A.gameid = '1';