在线等--请教大家一个简单的SQL查询
表1:(ID为自动编号)
ID NAME
1 电脑
2 黄金
3 白金
4 钻石
表2:(ID为自动编号)
ID NAME2 PRICE
1 电脑 90
2 电脑 10
3 黄金 50
4 白金 40
5 白金 20
6 白金 10
我想要得到的结果:
黄金:50
白金:70
钻石:0
如果表2为空则结果为:
电脑:0
黄金:0
白金:0
钻石:0
注:
1,PRICE 合计大于 100则不在结果中显示,例如在结果中就没有“电脑”.
请教符合上述要求的SQL语句应如何写???谢谢
------解决方案--------------------楼主什么数据库?如果是oracle,有一个函数可以将字段为空时按0统计,access就不知道有没有了,不过以下的土办法可以满足你的要求:
select a.name,sum(b.price) from tb1 a left join tb2 b on (a.name=b.name2) group by a.name having sum(b.price) <100 union select name,0 from tb1 where name not in (select name2 from t2)