при попытке отобразить результаты из JOIN mysql, которых нет ни в одной из таблиц - PullRequest
0 голосов
/ 04 октября 2011

У меня есть две таблицы, a_users и a_student_tutors.Я в основном хочу присоединиться к двум по их номерам.Однако я пытаюсь найти участников, которых нет в a_student_tutors, и отобразить их.

здесь приведено кодирование, например

$queryone = "SELECT * from a_users JOIN a_student_tutors on a_users.id=a_student_tutors.mem_id ";

$resultone = mysql_query($queryone);

while ($row=mysql_fetch_assoc($resultone)){
$member = $row['mem_id'];

$query = "SELECT * FROM a_users where id != '$member'";
echo $query;

}
$result = mysql_query($query);
$numrows = mysql_num_rows($result);

while ($row=mysql_fetch_assoc($result)){
    echo "<tr>
          <td><a href=\"members-edit.php?id=".$row['id']."\">".$row['name']."</a></td>
          <td>".$row['username']."</td>
          <td>".$row['address']." | ".$row['city']." | ".$row['postcode']."</td>
           <td ><input type=\"checkbox\" name=\"checkbox[]\" id=\"checkbox[]\" value=\"".$row['id']."\" /></td>
          </tr>";
}

Ответы [ 3 ]

2 голосов
/ 04 октября 2011

Вы также можете использовать левое соединение следующим образом, я знаю эти работы очень хорошо, много их использовал за последние несколько лет.

0 голосов
/ 04 октября 2011

Вы должны использовать LEFT JOIN вместо INNER JOIN (JOIN)

0 голосов
/ 04 октября 2011

Подвыбор поможет вам.

SELECT * FROM a_users 
WHERE id NOT IN (SELECT a_student_tutors.mem_id);

Будьте осторожны с отбором, поскольку это сложные запросы, которые могут снизить производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...