SQL многократный запрос соединения - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть этот запрос 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.

1 Ответ

1 голос
/ 03 ноября 2011

Просто используйте левое соединение.

SELECT ... 
FROM users u 
    JOIN players p ON u.player = p.name
    LEFT JOIN teams t ON p.team = t.id
WHERE u.id = ? 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...