合并2个SQL个查询结果

Combine 2 SQL Query results

我想合并我的 2 个 sql 结果和另外 1 个过滤器,即日期。 我如何组合这 2 个 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 的计数

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

合并您的 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

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