[英]Join MySQL Tables: Display All Results From Right Table In One Row Of Left Table
[英]trying to display results in from a JOIN mysql that are no present in one of the tables
我有两个表,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>";
}
您也可以使用左连接,如下所示,我知道这些工作非常好,在过去的几年中使用了很多。
SELECT a_users.* FROM a_users
LEFT JOIN a_student_tutors
ON a_users.id = a_student_tutors.mem_id
WHERE a_student_tutors.mem_id IS NULL
Subselect将帮助您。
SELECT * FROM a_users
WHERE id NOT IN (SELECT a_student_tutors.mem_id);
小心选择子选项,因为这些是可能会降低性能的硬查询。
您应该使用LEFT JOIN而不是INNER JOIN(JOIN)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.