запрос соединения php mysql

#php #mysql #join

#php #mysql #Присоединиться

Вопрос:

Мне нужно извлечь данные из 2 таблиц в моей базе данных. Данные, которые я извлекаю из таблицы 2, зависят от результата таблицы 1.

Я не удивляюсь всем этим ОБЪЕДИНЕНИЯМ и тому подобному, поэтому, если бы кто-нибудь мог просто объяснить, какое соединение мне здесь нужно, и как оно будет выглядеть, я был бы благодарен:

 $sql_result = mysql_query("SELECT * FROM accounts WHERE id='$val'", $db); 
$rs = mysql_fetch_array($sql_result); $name = $rs[name];

$sql_result2 = mysql_query("SELECT * FROM players WHERE name='$name'", $db); 
$rs2 = mysql_fetch_array($sql_result2); 
  

Ответ №1:

 $sql="SELECT * FROM accounts JOIN players ON accounts.accounts_link_to_player_id_here=players.id WHERE accounts.id='$val'";
  

Комментарии:

1. Не могли бы вы отметить ответ на вопрос для будущих пользователей Google? Спасибо!

Ответ №2:

Вы можете сделать что-то подобное, в зависимости от структуры таблицы (таблиц):

 SELECT * FROM `accounts` INNER JOIN `players` USING (`name`) WHERE `accounts`.`id` = 'value';
  

Ответ №3:

ВЫБЕРИТЕ * ИЗ accounts ЛЕВОГО СОЕДИНЕНИЯ players , ИСПОЛЬЗУЯ ( name ) ГДЕ accounts . id = ‘значение’;

Ответ №4:

Вам понадобится запрос, который выглядит следующим образом (это известно в SQL как подвыборка):

«ВЫБЕРИТЕ p. * ИЗ игроков p, ГДЕ имя В ( ВЫБЕРИТЕ n.name СО счетов n , ГДЕ n.id = ‘$val’ ) «

Комментарии:

1. Подвыборка — плохой способ сделать это по нескольким причинам, объединения более чем достаточно.