2012-09-25 41 views
2

这些是两个查询,返回多个记录,那么是否有任何解决方案从另一个结果中减去一个结果的每行数据?如何从来自另一个查询的记录中减去来自一个查询的记录?

QUERY1:

SELECT COUNT(*) As AbhidayNotPaidSansthan 
FROM PanjikaranMaster GROUP BY Zila 

QUERY2:

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 
+1

您可以添加每个查询的输出和期望的结果吗? – Vikdor

+0

你能更具体一点你想要的吗?第一查询的结果 – Nagri

+0

:第二查询的结果\t:\t我想要的输出作为 AbhidayNotPaidSansthan \t \t ANPs的差分 \t 2 3即(5-2) \t 1 1即(1-1) – azz845

回答

2

与此查询尝试,它会解决你的问题:

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 

我已经做了类似的测试中SQLFIDDLE

+0

thanx很多....它的工作完美... – azz845

+0

@ azz845:不客气... –

+0

@ azz845:不要忘了接受答案,如果它真的可以帮助你...... –

相关问题