您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> MSSQL >> sqlserver left join的on中如何添加多个查询条件??

sqlserver left join的on中如何添加多个查询条件??

来源:网络整理     时间:2016/11/24 15:28:31     关键词:

关于网友提出的“ sqlserver left join的on中如何添加多个查询条件??”问题疑问,本网通过在网上对“ sqlserver left join的on中如何添加多个查询条件??”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: sqlserver left join的on中如何添加多个查询条件??
描述:

急~~~ 在线等


第一个 sql:  select sum(convert(float,YSZXMX_VALUE)) as value  from YSZXMX
 where YSZXMX_DJBH like 'fpkj%' and yszxmx_djzt=0
第二个 sql: select sum(YSZXMX_SKJE) as skje from YSZXMX
 where  YSZXMX_DJBH like 'srdj%' 
这两个sql是同一张表 要还要根据 YSZXMX_WD19 相等 这个条件进行过滤求和,用left join on 感觉和单独写出来的不一样啊,求大神留sql
解决方案1:

你自己测试下面的。
if object_id('tempdb..#tb1') is not null drop table #tb1
create table #tb1(id int ,name varchar(10),age int)
insert into #tb1
select 1,'璐璐',3 union all
select 2,'茜茜',20 union all
select 3,'咚咚',18 union all
select 4,'莹莹',20 union all
select 5,'琪琪',31 union all
select 6,'洋洋',5 union all
select 7,'宝宝',1 
--select * from #tb1
if object_id('tempdb..#tb2') is not null drop table #tb2
create table #tb2(id int ,name varchar(10),age1 int,age2 int)
insert into #tb2
select 1,'婴儿',0,3 union all
select 2,'幼儿',3,6 union all
select 3,'少年',6,16 union all
select 4,'青年',16,28 union all
select 5,'中年',28,50 union all
select 6,'老年',50,80 union all
select 7,'长者',80,110
--select * from #tb2
select a.*,b.name from #tb1 a
left join #tb2 b on a.age>=b.age1 and a.age <>
select a.*,b.name from #tb1 a
right join #tb2 b on a.age>=b.age1 and a.age <>

解决方案2:

从一个表取,写成一句就行了


select sum(case when YSZXMX_DJBH like 'fpkj%' and yszxmx_djzt=0 then convert(float,YSZXMX_VALUE) ELSE 0 END ) as value
      ,sum(CASE WHEN YSZXMX_DJBH like 'srdj%' THEN  YSZXMX_SKJE ELSE 0 END ) as skje 
from YSZXMX

以上介绍了“ sqlserver left join的on中如何添加多个查询条件??”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4104804.html

相关图片

相关文章