2011-10-04 64 views
0

我有兩個表,a_users和a_student_tutors。我基本上希望加入他們的身份證號碼兩個。但是,我試圖找出不在a_student_tutors中的成員並顯示他們。試圖顯示JOIN mysql中沒有任何表格的結果

這裏編碼例如

$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>"; 
} 
+1

究竟什麼是你的問題? –

回答

0

子選擇會幫助你。

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

小心使用子查詢,因爲這些查詢可能會降低性能。

+0

非常感謝你,這麼簡單,沒有想到它! – meohmy

2

你也可以使用左連接如下,我知道這些工作非常好,在過去的幾年中使用了它們很多。

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 
0

,您應該使用LEFT JOIN而不是INNER JOIN(JOIN)

相關問題