我在SQL Server中创建了这个现金表我需要知道什么是货币类型注释,什么是Currecny和总数。
1 = Amount Came
2 = Amount Gone
我希望通过对SQL Query进行分组来得到结果。意味着我是否有1000种货币和货币纸币总数为11 [被认为是Came / Given是“1”]这使得它总计11000
同样的方式我有一个20的货币票据[1 In和1 Given]所以它不应该在所需的输出中,因为没有匹配或我没有任何20的注释。因为我有一个注意到20并给予回20
预期输出
Currency No of Currency Total
1000 -- 11 - 11000
500 -- 1 -- 500
100 -- 1 - 100
50 -- 1 - 50
答案 0 :(得分:1)
create table currency(curr int,noc int,total int,cg int)
insert into currency
Values(1000,10,10000,1),(1000,1,1000,1),(500,1,500,1),(100,1,100,1),(50,1,50,1),(20,1,20,1),(10,1,10,1),
(5,1,5,1),(2,1,2,1),(1,1,1,1),(20,1,20,2),(10,1,10,2),(5,1,5,2),(2,1,2,2),(1,1,1,2)
select a.curr,count(*),SUM(Total)
FROM
(
select x.curr curr,x.[no of currency],(x.curr*x.[no of currency]) as Total
From
(select a.curr,a.noc-isnull(b.noc,0) as [no of currency] from
(select * from currency where cg=1) a
left join
(select * from currency where cg=2) b
on a.curr=b.curr
) x
) a
where a.[no of currency] <>0
group by curr