Feed on
Posts
Comments
推薦本文到Plurk噗浪去!

之前我遇到問題,有兩個表格 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 寫法

推薦本文到Plurk噗浪去!