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非常感谢