Sql server 用于筛选结果集的Sql查询

Sql server 用于筛选结果集的Sql查询,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我在SQL Server中创建了这个现金表,在这个表中,我需要知道什么是纸币类型,货币号和总数是多少 1 = Amount Came 2 = Amount Gone 我希望通过对SQL查询进行分组得到结果。意味着如果我有1000种货币,并且货币纸币的总数为11[被认为是来的/给的是1],则总数为11000 同样的方法,我有一张20的纸币[这是1英寸和1给定],所以它不应该在期望的输出中,因为没有匹配的,或者我没有任何20的纸币。因为我有一张20元的钞票,还了20元 预期产量为 Currency

我在SQL Server中创建了这个现金表,在这个表中,我需要知道什么是纸币类型,货币号和总数是多少

1 = Amount Came
2 = Amount Gone
我希望通过对SQL查询进行分组得到结果。意味着如果我有1000种货币,并且货币纸币的总数为11[被认为是来的/给的是1],则总数为11000

同样的方法,我有一张20的纸币[这是1英寸和1给定],所以它不应该在期望的输出中,因为没有匹配的,或者我没有任何20的纸币。因为我有一张20元的钞票,还了20元

预期产量为

Currency No of Currency Total
1000 -- 11 - 11000
500  -- 1 -- 500
100 -- 1 - 100
50 -- 1 - 50

你期望的结果是什么?我在查询中添加了。我想按货币对唯一行进行分组。还要检查我有没有那张纸币1=纸币来了,2=纸币没了。我想知道我的平衡是什么是我正在努力的。当我执行此操作时,SQL会给我带来很多错误。但是请允许我用我的表和列来定制它。中间的查询工作得很好。但是我无法运行第一个主查询。选择currency,count*,SUMTotal,它会显示错误,附近的语法不正确。我已经解决了。但是这个查询给我的结果与我期望的正好相反,它给我的结果是20,10,5,2,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