2016-01-18 57 views
0
SELECT CollMstHdr.EntryNo, CollMstHdr.Date, PartyMst.PName, SUM(CollMstDtl.Amt) 
FROM CollMstHdr 
    INNER JOIN CollMstDtl ON CollMstHdr.EntryNo = CollMstDtl.EntryNo 
    INNER JOIN PartyMst ON CollMstHdr.SPartyCd = PartyMst.PartyCd 
group by CollMstHdr.EntryNo, CollMstHdr.Date, PartyMst.PName 

聚合函数我根据CollMstHdr.EntryNo和CollMstHdr.Date希望金额的总和,我有EntryNo和日期这两个主键,但仅根据EntryNo获得金额总和。 如何使用Clouse组合当我们有两列作为主要的凯斯。与复合键

+0

请解释一下你所需要的。 __首先___你说你想要根据'EntryNo' __和___日期的总和,__然后___你说你想要根据'EntryNo'的总和__only__。 –

回答

0

首先根据您的表格结构执行连接。 然后将中的列选择并按分组进行分组,您想对其进行分组。

,如果你想在EntryNo分组和日期,然后像这样做:

SELECT CollMstHdr.EntryNo, CollMstHdr.Date, SUM(CollMstDtl.Amt) 
FROM CollMstHdr 
    INNER JOIN CollMstDtl ON CollMstHdr.EntryNo = CollMstDtl.EntryNo 
    INNER JOIN PartyMst ON CollMstHdr.SPartyCd = PartyMst.PartyCd 
group by CollMstHdr.EntryNo, CollMstHdr.Date 
如果你想只在EntryNo分组

,这样做:

SELECT CollMstHdr.EntryNo, SUM(CollMstDtl.Amt) 
FROM CollMstHdr 
    INNER JOIN CollMstDtl ON CollMstHdr.EntryNo = CollMstDtl.EntryNo 
    INNER JOIN PartyMst ON CollMstHdr.SPartyCd = PartyMst.PartyCd 
group by CollMstHdr.EntryNo 
+0

我想要每个EntryNo和Date的总和。 –

+0

然后使用第一个查询...我已经在我的答案中指定...请你的要求是不同的..请澄清它。 –