Sql server 如何从来自另一个查询的记录中减去来自一个查询的记录?

Sql server 如何从来自另一个查询的记录中减去来自一个查询的记录?,sql-server,Sql Server,这是两个查询,返回多个记录,那么有没有解决方案将一个结果的每一行数据从另一个结果中减去 问题1: SELECT COUNT(*) As AbhidayNotPaidSansthan FROM PanjikaranMaster GROUP BY Zila 问题2: SELECT COUNT(*) as anps FROM AbhidayMaster,PanjikaranMaster WHERE PanjikaranMaster.OfficeRegId=AbhidayMaster.Off

这是两个查询,返回多个记录,那么有没有解决方案将一个结果的每一行数据从另一个结果中减去

问题1:

SELECT COUNT(*) As AbhidayNotPaidSansthan
 FROM PanjikaranMaster GROUP BY Zila
问题2:

SELECT COUNT(*) as anps FROM AbhidayMaster,PanjikaranMaster
    WHERE PanjikaranMaster.OfficeRegId=AbhidayMaster.OfficeRegId AND
    AbhidayMaster.DipositDate Between ('2012-09-19') AND ('2012-09-24')
GROUP BY PanjikaranMaster.Zila

尝试此查询,它将解决您的问题:

SELECT ISNULL(a.cnt,0) -  ISNULL(b.cnt,0) AS CNT,a.Zila
FROM
    (SELECT Zila,COUNT(*) as cnt As AbhidayNotPaidSansthan
    FROM PanjikaranMaster GROUP BY Zila) a
    LEFT JOIN 
    (SELECT Zila,COUNT(*) as cnt FROM AbhidayMaster,PanjikaranMaster
    WHERE PanjikaranMaster.OfficeRegId=AbhidayMaster.OfficeRegId AND
    AbhidayMaster.DipositDate Between ('2012-09-19') AND ('2012-09-24')
    GROUP BY PanjikaranMaster.Zila) b 
    ON a.Zila = b.Zila

我在

中做过类似的测试,你能添加每个查询的输出和你期望的结果吗?你能更具体一点你想要什么吗?第一次查询的结果:第二次查询的结果:我希望输出为ABHIDAYNOTPAIDSANSS而不是PS差5 2 3,即(5-2)2.1即(1-1),您如何知道查询1中的哪些值与查询2中的其他值相减??实际上,两个查询都只返回一组数字。…@marc_s:两个查询都按“Zila”字段分组,所以第一条记录应该从第一条中减去,第二条记录应该从第二条中减去,依此类推