先查询来了这个用户在个项目团队成员信息
select my.UserGUID,my.ProjGUID,myu.UserName,pp.ProjName ,COUNT(pp.OppSource) as DOppSource ,COUNT(pp.OppSource) as FOppSource from myTeamUsers my left join myUser myu on my.UserGUID=myu.UserGUID left join p_Project pp on pp.ProjGUID=my.ProjGUID where TeamGUID in( select TeamGUID from myTeam where ProjGUID in( select pp.projectID from projectman pn left join p_projectman pp on pn.RprojectID=pp.RprojectID where EmpID='456'))
结果字段是(用户GUID,项目的GUID,用户名称,项目名称)
在查询要统计的结果是下面的SQL
统计来电总数
select COUNT(OppSource) as DOppSource from 表 where OppSource='来电' and 用户ID='" + UserGUID + "' and 项目ID='" + ProjGUID + "' and 时间=‘’
统计来访总数
select COUNT(OppSource) as DOppSource from 表 where OppSource='来访' and 用户ID='" + UserGUID + "' and 项目ID='" + ProjGUID + "' and 时间=‘’
怎么把这些查询结果组合一张新表(用户GUID,项目的GUID,用户名称,项目名称,来电总数,来访总数)这张表是一张临时表,这张临时表在查询它时,条件是(项目名称,来访、来点时间,用户)
------解决方案--------------------
列相同的就union all,不同的就left join
------解决方案--------------------
SELECT ID,COUNT(OppSource) as [来电总数] INTO #T1 from 表
where OppSource='来电' and 用户ID='" + UserGUID + "' and 项目ID='" + ProjGUID + "' and 时间=‘’
SELECT ID,COUNT(OppSource) as [来访总数] INTO #T2 from 表
where OppSource='来访' and 用户ID='" + UserGUID + "' and 项目ID='" + ProjGUID + "' and 时间=‘’
SELECT A.来电总数,B.来访总数 FROM #T1 A
LEFT JOIN #T2 B ON B.ID=A.ID