Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql查询以比较由于Group子句而具有不同RNET值的相同字段_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql查询以比较由于Group子句而具有不同RNET值的相同字段

Sql查询以比较由于Group子句而具有不同RNET值的相同字段,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个查询,我需要比较一个按借贷分组的金额字段,我想得到借贷金额不等于查询的借贷金额的输出 select t_vocno, sum(t_amt), dc_type from accotran where f_yr = '1718' and comp_cd = 'skl' group by t_vocno, dc_type order by t_vocno 它给出了输出 1 215452.1600 D 1 215

我有一个查询,我需要比较一个按借贷分组的金额字段,我想得到借贷金额不等于查询的借贷金额的输出

select t_vocno,
       sum(t_amt),
       dc_type 
from   accotran 
where  f_yr = '1718' 
and    comp_cd = 'skl' 
group by  t_vocno, 
          dc_type 
order by t_vocno
它给出了输出

1   215452.1600 D
1   215452.1600 C
2   207586.0000 D
2   207586.0000 C
3   248789.0000 D
3   248789.0000 C
我有非常多的投标数据,所以我想把一个有条件,并获得数据的地方借记信用卡

我试过了

select t_vocno,
       sum(t_amt),
       dc_type 
from   accotran 
where  f_yr = '1718' 
and    comp_cd = 'skl' 
group by t_vocno,
         dc_type 
having case when dc_type= 'c' and t_vocno = t_vocno then sum(t_amt) end <>
       case when dc_type= 'd' and t_vocno = t_vocno then sum(t_amt)  end
order by t_vocno
选择t\u vocno,
金额(t_amt),
dc_型
来自accotran
其中f_yr='1718'
和comp_cd='skl'
t_vocno集团,
dc_型
如果dc_type='c'和t_vocno=t_vocno,则总和(t_amt)结束
当dc_type='d'和t_vocno=t_vocno时,则总和(t_amt)结束
由t_vocno订购

您可以通过
分组
只需
t\u vocno
并使用条件聚合计算贷记/借记总额:

select t_vocno,
       sum(case when dc_type= 'c' then t_amt else 0 end) as c_sum,
       sum(case when dc_type= 'd' then t_amt else 0 end) as d_sum
from   accotran 
where  f_yr = '1718' 
and    comp_cd = 'skl' 
group by t_vocno
having sum(case when dc_type= 'c' then t_amt else 0 end) <>
       sum(case when dc_type= 'd' then t_amt else 0 end)
order by t_vocno
选择t\u vocno,
求和(当dc_type='c'然后t_amt else 0 end时的情况)作为c_和,
求和(当dc_type='d'然后t_amt else 0 end时的情况)作为d_和
来自accotran
其中f_yr='1718'
和comp_cd='skl'
t_vocno分组
具有总和(dc_类型为'c'然后t_金额为0结束时的情况)
总和(dc_类型为'd'然后t_金额为0结束时的情况)
由t_vocno订购

您可以通过
分组
只需
t\u vocno
并使用条件聚合计算贷记/借记总额:

select t_vocno,
       sum(case when dc_type= 'c' then t_amt else 0 end) as c_sum,
       sum(case when dc_type= 'd' then t_amt else 0 end) as d_sum
from   accotran 
where  f_yr = '1718' 
and    comp_cd = 'skl' 
group by t_vocno
having sum(case when dc_type= 'c' then t_amt else 0 end) <>
       sum(case when dc_type= 'd' then t_amt else 0 end)
order by t_vocno
选择t\u vocno,
求和(当dc_type='c'然后t_amt else 0 end时的情况)作为c_和,
求和(当dc_type='d'然后t_amt else 0 end时的情况)作为d_和
来自accotran
其中f_yr='1718'
和comp_cd='skl'
t_vocno分组
具有总和(dc_类型为'c'然后t_金额为0结束时的情况)
总和(dc_类型为'd'然后t_金额为0结束时的情况)
由t_vocno订购

你能包括创建带有插入的表格吗?@scar80这是一个非常大的表格,数据太大了,如果你想在结果中使用
dc\u type
我可以给你看屏幕截图吗?@Squirrel对于我今天遇到的问题,没有必要,但如果我能得到答案,这在将来会很有用。你可以包括创建带有插入的表吗?@scar80这是一个非常大的表,数据太大了,如果你想的话,我可以给你看屏幕截图。结果中是否需要
dc\u type
,这将在将来对您编写的查询非常有用,我们可以将其分组为借记卡或信用卡类型吗credit@ManojPatil如果您按
dc\u类型
分组,则无法将部分和、
c\u和
d\u和
相互比较。是的,我正在检查。。我想要的主要是不相等的借记凭证。。以上就是@Giorgos Betsos感谢你写的查询,我们可以将它分组到dc_类型,即借记或credit@ManojPatil如果您按
dc\u类型
分组,则无法将部分和、
c\u和
d\u和
相互比较。是的,我正在检查。。我想要的主要是不相等的借记凭证。。就这些了@Giorgos Betsos非常感谢