合并SQL语句,该怎么处理
合并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
------解决方案--------------------
(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_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 union all --用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 order 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_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