首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

合并SQL语句,该怎么处理

2012-03-28 
合并SQL语句(1)select co_code,sum(case when receive_date between %param(qsrq)% and %param(jsrq

合并SQL语句
(1)select co_code,sum(case when receive_date between <%param("qsrq")%> and <%param("jsrq")%> then revenue_num else 0 end)*100 benyue,sum(revenue_num)*100 leijishu 
from v_nt_bill_baobiaoqushu
where fiscal=<%substring(param('jsrq'),1,4) %>
and receive_date<=<%param("jsrq")%>
and co_code in (<%getcode(param('gsdm'))%>)
group by co_code
order by co_code

(2)select co_code,sum(case when receive_date between <%param("sqsrq")%> and <%param("sjsrq")%> then revenue_num else 0 end)*100 sbenyue,sum(revenue_num)*100 sleijishu
from v_nt_bill_baobiaoqushu
where fiscal=<%substring(param('sjsrq'),1,4) %>
and receive_date<=<%param("sjsrq")%>
and co_code in (<%getcode(param('gsdm'))%>)
group by co_code
order by co_code

请教如何将两个语句合并在一个语句里面,谢谢,指导

[解决办法]
select co_code,sum(case when receive_date between <%param("qsrq")%> and <%param("jsrq")%> then revenue_num else 0 end)*100 benyue,sum(revenue_num)*100 leijishu
from v_nt_bill_baobiaoqushu
where fiscal=<%substring(param('jsrq'),1,4) %>
and receive_date<=<%param("jsrq")%>
and co_code in (<%getcode(param('gsdm'))%>)
group by co_code
union all
select co_code,sum(case when receive_date between <%param("sqsrq")%> and <%param("sjsrq")%> then revenue_num else 0 end)*100 sbenyue,sum(revenue_num)*100 sleijishu
from v_nt_bill_baobiaoqushu
where fiscal=<%substring(param('sjsrq'),1,4) %>
and receive_date<=<%param("sjsrq")%>
and co_code in (<%getcode(param('gsdm'))%>)
group by co_code

[解决办法]

SQL code
select co_code,sum(case when receive_date between <%param("qsrq")%> and <%param("jsrq")%> then revenue_num else 0 end)*100 benyue,sum(revenue_num)*100 leijishu  from v_nt_bill_baobiaoqushuwhere fiscal=<%substring(param('jsrq'),1,4) %>and receive_date<=<%param("jsrq")%>and co_code in (<%getcode(param('gsdm'))%>)group by co_codeorder by co_codeunion all  --用union allselect co_code,sum(case when receive_date between <%param("sqsrq")%> and <%param("sjsrq")%> then revenue_num else 0 end)*100 sbenyue,sum(revenue_num)*100 sleijishufrom v_nt_bill_baobiaoqushuwhere fiscal=<%substring(param('sjsrq'),1,4) %>and receive_date<=<%param("sjsrq")%>and co_code in (<%getcode(param('gsdm'))%>)group by co_codeorder by co_code
[解决办法]
select ...,
 sum(case when receive_date<=date1 and 原条件 then ... else 0 end)*100 benyue,
 sum(case when receive_date<=date2 and 原条件 then ... else 0 end)*100 sbenyue,
 sum(case when receive_date<=date1 then receive_num else 0 end) leijishu,
 sum(case when receive_date<=date2 then receive_num else 0 end) sleijishu
from ...
where ...

这里的where条件中没有receive_date<=条件。
[解决办法]
SQL code
select co_code,sum(case when receive_date between <%param("qsrq")%> and <%param("jsrq")%> then revenue_num else 0 end)*100 benyue,sum(revenue_num)*100 leijishu   from v_nt_bill_baobiaoqushuwhere fiscal=<%substring(param('jsrq'),1,4) %>and receive_date<=<%param("jsrq")%>and co_code in (<%getcode(param('gsdm'))%>)group by co_codeunion allselect co_code,sum(case when receive_date between <%param("sqsrq")%> and <%param("sjsrq")%> then revenue_num else 0 end)*100 sbenyue,sum(revenue_num)*100 sleijishufrom v_nt_bill_baobiaoqushuwhere fiscal=<%substring(param('sjsrq'),1,4) %>and receive_date<=<%param("sjsrq")%>and co_code in (<%getcode(param('gsdm'))%>)group by co_code 

热点排行
Bad Request.