sql server 2005查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 08:16:56
共有12个表,每个表对应一个月的数据,表的属性有machine_id(用户标识),domain_id(网站标识),现在要查询
1 全年中各用户访问的网站数:select machine_id,count(distinct domain_id) from T1,T2,T3,……,T12 group by machine_id
2 12个月总的网站数:select count(distinct domain_id)from T1,T2,……,T12
这两个查询语句好像不正确,后面是否要加where之类的语句,光是from好像不能连接12个表吧,应该怎么编写SQL语句,请指点,谢谢~

用union
select machine_id,count(distinct domain_id) from (select machine_id,domain_id from T1
union
select machine_id,domain_id from T2
union
select machine_id,domain_id from T3
union
select machine_id,domain_id from T4 。。。。。。)

创建临时表,将数据导到临时表中在查询

你这个需求先算每个月的 再加起来效率最高

用 join 语句吧表连接起来就行了
条件是 on 两个表的相同字段