在同一图表中绑定两个查询

Binding two queries in the same chart

我有这个查询:

public static string shitjeJavore = "with java  as " 
  +" (select subscription.username as username, " 
  +"convert(varchar,max(subscription.saledate),101)as saledate, " 
  +" convert(varchar,convert(datetime,max(startdate),100)) as startdate, " 
  +" convert(varchar,convert(datetime,max(enddate),100)) as enddate from subscription  " 
  +" inner join SaleReport on SaleReport.username=subscription.username " 
  +" inner join login on  login.username=subscription.username " 
  +" inner join users on users.username=subscription.name " 
  +" where pkgid = '5'  " 
  +" and subscription.saledate >=(@from) 
      and subscription.saledate <= DATEADD(week,1,@from) " 
  +" and login.version> CONVERT(float,'1.70') " 
  +" and login.lockaccount='false' " 
  +" and users.Role<>'admin' " 
  + " group by subscription.username " 
  +" having GETDATE()>=max(subscription.saledate)) " 
  +" , abonim as ( select count(username)as cc ,username  from SaleReport " 
  +" group by username ) " 
  +" select max(saledate) as saledate,count(java.username) as usernameCount " 
  +" from java inner join abonim on java.username=abonim.username " 
  +" where cc=1 " 
  +" group by (saledate) " +

而且我想在同一张图表上绑定两次。在一个系列中,我希望绑定先前的查询,在第二个系列中,唯一的区别在于 WHERE 条件:

所以而不是:

where cc=1
i want it to be where cc>1

.NET 图表组件可以做到这一点吗?

您的图表必须使用两个不同的系列。请看看这个,它会有所帮助: Blogs MSDN

我设法合并了不同视图中的数据,以便将它们创建为具有相同结果的列,如下所示:

  with java  as 
(select subscription.username as username,
convert(varchar,max(subscription.saledate),101)as saledate, 
convert(varchar,convert(datetime,max(startdate),100)) as startdate, 
convert(varchar,convert(datetime,max(enddate),100)) as enddate from subscription  
inner join SaleReport on SaleReport.username=subscription.username
inner join login on  login.username=subscription.username
inner join users on users.username=subscription.name 
where pkgid = '5'  
and subscription.saledate >=('02/01/2014') and subscription.saledate <= DATEADD(week,1,'02/01/2014') 
and login.version> CONVERT(float,'1.70') 
and login.lockaccount='false'
and users.Role<>'admin'
 group by subscription.username 
having GETDATE()>=max(subscription.saledate)
)
, abonim as ( select count(username)as cc ,username  from SaleReport 
group by username ),
Riabonim as
(select java.username, count(java.username) as cc
from java inner join abonim on java.username=abonim.username
where cc>1
group by java.username) ,
NewSub as
(select java.username, count(java.username) as cc
from java inner join abonim on java.username=abonim.username
where cc=1
group by java.username)
select (java.saledate) as saledate,
count(Riabonim.cc) as RiabonimCounter,
count(NewSub.cc) as NewCounter
from java
full outer join Riabonim on java.username=  Riabonim.username
full outer join NewSub on java.username= NewSub.username
group by saledate