合并2个SQL查询结果

时间:2015-07-03 19:21:46

标签: sql sql-server sql-date-functions

我想结合我的2个sql结果和1个过滤器,即Date。 如何组合我的这两个SQL查询。

第一个sql

 SELECT e.Name,COUNT(l.userName) as UsersVisit
  FROM Table1 l
  INNER JOIN Table2 e on e.UserName =l.UserName
  WHERE 
  ( l.DateAccessed>'3-31-2015' and l.DateAccessed <'4-30-2015')
  Group by e.Name

O / P我得到了

Name  UsersVisit
abc    10
xyz    20
def    30

第二个Sql

SELECT COUNT(1) as TotalVisits
  FROM Table1 l
  INNER JOIN Table2 e on e.UserName =l.UserName
  WHERE 
  ( l.DateAccessed>'3-31-2015' and l.DateAccessed <'4-30-2015')
  ORDER BY TotalVisits DESC

O / P我得到了

TotalVisits
60

现在,我想要的O / P是

UniqueUsers  TotalVisits  Month
3               60        March
4               50        April

3是唯一的用户数(abc,xyz,def),而TotalVisits是所有UsersVisit的计数

我怎样才能得到这些结果?

1 个答案:

答案 0 :(得分:2)

组合您的select子句并使用datename和datepart函数

select dateName(month, DateAccessed) "Month"
, datePart(month, DateAccessed) sortColumn
, count(1) totalVisits
, count(distinct l.userName) UsersVisit
from and where clause goes here
group by dateName(monthDateAccessed)
order by sortColumn

在显示代码中,不显示排序列。此外,如果您的搜索周期超过一年,您可能希望将年份纳入等式。