作者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)
1F:推 gotoo:把6, 20 插进表的route_seq, 其他栏位设null看看? 01/10 03:42
2F:推 Antzzz:请学left join 01/10 10:37
3F:→ tas72732002:意思是说有两个要用到left join 有两个要用到inner jo 01/11 15:01
4F:→ tas72732002:in 不知这样要如何写勒 01/11 15:38
5F:推 bobju:文中的sql怪怪的,有 log_order_prod 这table却没联结条件? 01/11 21:31