[MySQL] outer join 使用
Jan 26th, 2008 by appleboy 參觀者:3,122Views 機器人:405Views
之前我遇到問題,有兩個表格 a 跟 b,分別利用 id 當作連接,當你使用 where a.id = b.id 的時候,當 b 資料表沒有對應到的時候,撈出來的資料就會少一筆,問題如下
: 想請教各位大大,
: 如果我現在有兩個table t1,t2
: Table t1:
: uid INT
: name NCHAR(10)
: Table t2:
: uid INT
: t1_id INT 參考到t1.uid
: 我下一個SQL query:
: SELECT t1.name, COUNT(t2.uid)
: FROM t1,t2
: WHERE t2.t1_id=t1.uid
: GROUP BY t1.name
: 這樣會計算出每個t1.name項目在t2中所出現的次數。
: 但是如果次數為零時就不會顯示出來。
: 想請教大家,怎樣修改可以讓次數為零的t1.name也顯示出來呢?
解決方法:就是利用 outer join
$sql = "SELECT t1.t_name, count(t2.uid) as aa FROM " . $xoopsDB->prefix('teacher') . " as t1 LEFT OUTER JOIN " . $xoopsDB->prefix('student') . " as t2 on t1.tid = t2.st_teacher group by t1.t_name";
Xoops 寫法
