ms sql查询
我现在需要做一个广告位管理。
addressinfo 地址表
Id Name SuperiorId
1 全国 0
2 安徽 1
3 福建 1
4 甘肃 1
......
firmTypeInfo 类型表
id name
1 类型一
2 类型二
3 类型三
......
firmInfo 公司信息表
Id name url
1 联想 www....
1 三星 www....
1 诺基亚 www....
advertiseInfo 广告位表
id addressId firmTypeId firmId
1 2 1 1
...........
目前设置为:每一个公司类型对应的每一个地址允许5个广告位,问:怎样写sql语句查询每个_类型-地址_下还剩余几个广告位?
addressinfo 地址表
Id Name SuperiorId
1 全国 0
2 安徽 1
3 福建 1
4 甘肃 1
......
firmTypeInfo 类型表
id name
1 类型一
2 类型二
3 类型三
......
firmInfo 公司信息表
Id name url
1 联想 www....
1 三星 www....
1 诺基亚 www....
advertiseInfo 广告位表
id addressId firmTypeId firmId
1 2 1 1
...........
目前设置为:每一个公司类型对应的每一个地址允许5个广告位,问:怎样写sql语句查询每个_类型-地址_下还剩余几个广告位?
作者: jdazui 发布时间: 2011-06-14
SQL code
select a.name as 地址,b.name as 类型,5-count(*) as 剩余广告位 from addressinfo a inner join advertiseinfo on a.id=b.addressid inner join firmtypeinfo c on c.id=b.firmtypeid group by a.name,b.name
作者: qianjin036a 发布时间: 2011-06-14
select
a.name as 地址,
b.name as 类型,
5-count(*) as 剩余广告位
from addressinfo a inner join advertiseinfo b
on a.id=b.addressid
inner join firmtypeinfo c on c.id=b.firmtypeid
group by a.name,b.name
--------------------
支持楼上,貌似晴天少写了个别名。
a.name as 地址,
b.name as 类型,
5-count(*) as 剩余广告位
from addressinfo a inner join advertiseinfo b
on a.id=b.addressid
inner join firmtypeinfo c on c.id=b.firmtypeid
group by a.name,b.name
--------------------
支持楼上,貌似晴天少写了个别名。
作者: maco_wang 发布时间: 2011-06-14
支持楼上两位,貌似两位还没吃饭!
SQL code
SQL code
select a.name as 地址, b.name as 类型, 5-count(*) as 剩余广告位 from addressinfo a inner join advertiseinfo b on a.id=b.addressid inner join firmtypeinfo c on c.id=b.firmtypeid group by a.name,b.name
作者: AcHerat 发布时间: 2011-06-14
SQL code
select a.name as 地址, b.name as 类型, 5-count(*) as 剩余广告位 from addressinfo a ,advertiseinfo b ,firmtypeinfo c where a.id=b.addressid and c.id=b.firmtypeid group by a.name,b.name
作者: fredrickhu 发布时间: 2011-06-14