我有这个SQL查询,并直接在它下面,基于结果的另一个查询。 我想把它们合并,但我很困惑,成为一个新手。
它从3个表中提取数据 - 来自USERS和PLAYERS表的第一个查询。然后,如果玩家在“团队”中,它将从TEAMS表中获取标签。
我的代码:
$sql_result4=mysql_query("SELECT * FROM users JOIN players ON users.player=players.name WHERE users.id='$id'");
$rs4 = mysql_fetch_array($sql_result4);
if ($rs4[team] !=0) {
$sql_result = mysql_query("SELECT tag FROM teams WHERE id='$rs4[team]'", $db);
$rs = mysql_fetch_array($sql_result);
// get data
}
我的问题是,如何将第二个查询与第一个查询合并?我甚至使用了正确的加入方式吗?
我希望能够使用PLAYERS表中的大量数据,但只能使用USERS和TEAMS中的一两列。
答案 0 :(得分:1)
只需使用左连接。
SELECT ...
FROM users u
JOIN players p ON u.player = p.name
LEFT JOIN teams t ON p.team = t.id
WHERE u.id = ?