我有一個問題與MySQL join.let我解釋我有什麼表。只有2表使用PHP的Mysql加入問題
表1
rid hid email
1 501 10
1 502 20
2 501 30
4 8075 40
1 501 50
表2
rid title
1 pw1
2 pw1
3 pw2
4 pw4
我的代碼是像下面
$allhids = array(501,502,8075); //all the unique hids
foreach($allhids as $k=>$v)
{
$getsubrows = mysqli_query($conn, "SELECT table1.hid,table2.title,sum(table1.email) as totalqty
FROM `table1`,table2
where table1.hid = ".$v."
and table2.rid = table1.rid
group by table2.title ") or die(mysqli_error($conn));
while($subrow = mysqli_fetch_array($getsubrows, MYSQLI_NUM))
{
echo $subrow[0]."----".$subrow[1]."----".$subrow[2]."<br>";
}
}
現在它輸出作爲
501----pw1----60
501----pw2----30
502----pw1----20
8075----pw4----40
現在,我希望它是這樣
501----pw1----60
501----pw2----30
501----pw4----0
502----pw1----20
502----pw2----0
502----pw4----0
8075----pw1----0
8075----pw2----0
8075----pw4----40
所以我想包括其ID不存在於表1,如果不存在,則標題會顯示0
其實每個HID總是會有3(pw1,pw2,pw4)行。如果沒有電子郵件然後0.
任何建議或提示真的很感激。提前感謝。
你可以改變''''總和(table1.email)''''到''''IFNULL(SUM(table1.email),0)''''在你的查詢中? – 2014-10-08 09:45:39
謝謝。我用它進行了測試,但現在仍然顯示其他標題爲排。 – Raj 2014-10-08 09:48:09
我已經添加了一些額外的信息。 – Raj 2014-10-08 09:49:38