日期:2014-05-18 浏览次数:20883 次
上传表 id 名称 上传路径 上传者 文档类型 22 WBS模板.pdf Manage\file\2012-05-15\17-40-43.pdf 20080962 pdf 23 5月通讯录.pdf Manage\file\2012-05-16\08-36-10.pdf 20080962 pdf 24 香水.pdf Manage\file\2012-05-16\08-47-10.pdf 20080962 pdf 下载表 id 名称 时间 下载者 1 WBS模板.pdf 2012-05-18 20080790 2 WBS模板.pdf 2012-05-18 20080962
select a.名称, 下载次数 = count(*) from 上传表 a left join 下载表 b on a.名称 = b.名称 -- 这个关联条件lz自己斟酌一下 group by a.名称
------解决方案--------------------
select a.*, 下载次数 = b.fc from 上传表 a left join (select id,count(*) fc from 下载表 group by id) b on a.id = b.id order by a.名称
------解决方案--------------------
if object_id('[上传表]') is not null drop table [上传表] go create table [上传表] (id int,名称 nvarchar(18),上传路径 nvarchar(70),上传者 int,文档类型 nvarchar(6)) insert into [上传表] select 22,'WBS模板.pdf','Manage\file\2012-05-15\17-40-43.pdf',20080962,'pdf' union all select 23,'5月通讯录.pdf','Manage\file\2012-05-16\08-36-10.pdf',20080962,'pdf' union all select 24,'香水.pdf','Manage\file\2012-05-16\08-47-10.pdf',20080962,'pdf' if object_id('[下载表]') is not null drop table [下载表] go create table [下载表] (id int,名称 nvarchar(18),时间 datetime,下载者 int) insert into [下载表] select 1,'WBS模板.pdf','2012-05-18',20080790 union all select 2,'WBS模板.pdf','2012-05-18',20080962 select * from [上传表] select * from [下载表] SELECT A.id,A.名称,A.上传路径,A.上传者,A.文档类型,COUNT(B.id) AS '下载次数' FROM [上传表] A LEFT JOIN [下载表] B ON A.名称 = B.名称 GROUP by A.id,A.名称,A.上传路径,A.上传者,A.文档类型 /* id 名称 上传路径 上传者 文档类型 下载次数 ----------- ------------------ ---------------------------------- ----------- ------ ----------- 22 WBS模板.pdf Manage\file\2012-05-15\17-40-43.pdf 20080962 pdf 2 23 5月通讯录.pdf Manage\file\2012-05-16\08-36-10.pdf 20080962 pdf 0 24 香水.pdf Manage\file\2012-05-16\08-47-10.pdf 20080962 pdf 0 (3 row(s) affected) */