再求一SQL语句,续~~
表A
姓名 性别
张三 男
李四 男
王五 男
AA 男
表B
姓名 日期 数量
AA 2006-11-28 4
张三 2006-12-01 1
王五 2006-12-02 2
张三 2006-12-03 3
要求结果
姓名性别数量
AA 男 0或(空)
张三 男 4
李四 男 0或(空)
王五 男 2
表B没有李四
select A.姓名,A.性别,SUM(B.数量) from A,B WHERE A.姓名=B.姓名 GROUP BY A.姓名,A.性别
WHERE 日期 > = '2006-12-01 '
这样结果没有AA和李四的(刚才已提问一个,已解决如下)
select A.姓名,A.性别,SUM(B.数量)
from A left join B on A.姓名=B.姓名
WHERE 日期 > = '2006-12-01 '
GROUP BY A.姓名,A.性别
这样的结果没有AA
该怎么写?
------解决方案--------------------select A.姓名,A.性别,T.数量
from A
left join
(select 姓名,sum(数量) as 数量 from B where 日期> '2006-12-01 ' group by 姓名) T
on A.姓名=T.姓名