作者tas72732002 (蔥頭)
看板Database
標題[SQL ] sql指令疑惑
時間Sun Jan 10 00:38:04 2010
MySQL : 5.0.51a
我用phpMyAdmin操作MySQL
OS: unix
請問一下 假設我要撈出log_order.route_seq=6 ,78 ,20 ,95 ,84的紀錄
最後的顯示可以顯示出log_order.route_seq=6,78,20,95,84所出現的比數~~
但問題來了 目前log_order.route_seq=6,20 這兩個編號 在資料表示從來也沒出現過的
而group by log_order.route_seq 又只會對有出現過的編號分組
想請問要如何也讓資料表沒出現過的編號 做紀錄
log_order.route_seq count(log_order.orderNo)
--------------------------------------------
6 0
20 0
78 50
95 32
84 76
我希望的結果是這樣~~
但目前顯示的是
log_order.route_seq count(log_order.orderNo)
--------------------------------------------
78 50
95 32
84 76
6和20編號 因為資料表沒出現過 所以不會做count
我的語法是這樣~~
select log_order.route_seq,count(log_order.orderNo) from log_order,log_order_p\
rod where (log_order.route_seq=6 or log_order.route_seq=78 or log_order.route_\
seq=20 or route_seq=95 or log_order.route_seq=84) group by route_seq
所以我的疑惑是要如何也讓 6 20出現呢 而count數紀錄是0~~
--
感謝大家的推文
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.195.185
※ 編輯: tas72732002 來自: 118.167.195.185 (01/10 00:39)
推 gotoo:把6, 20 插進表的route_seq, 其他欄位設null看看? 01/10 03:42
推 Antzzz:請學left join 01/10 10:37
→ tas72732002:意思是說有兩個要用到left join 有兩個要用到inner jo 01/11 15:01
→ tas72732002:in 不知這樣要如何寫勒 01/11 15:38
推 bobju:文中的sql怪怪的,有 log_order_prod 這table卻沒聯結條件? 01/11 21:31