我有两个表,Master
和Child.
我需要表中列Cash
的总和,我也指的是Child
表匹配某些条件。加上内部加入群组
Master
表:
ID CASH BillDate
1 100 22-02-2014
2 200 22-02-2014
Child
表:
ChildID MasterID
1 1
2 1
3 2
我的查询:
select CONVERT(varchar,BillDate,103) as BillDate,SUM(cash)as ByCash
from childdetails CD
inner join MasterDetails MD on MD.ID=CD.MasterID
where CONVERT(varchar,BillDate,103)='22/02/2014'
group by BillDate
我的错误输出:
BillDate ByCash
22/02/2014 400
正确的输出应为ByCash
300,但我不知道为什么它被计算为400
100 + 100 + 200 = 400。你如何得到300?您排除了哪些子记录? – jpw
不要将日期转换为字符串。将字符串转换为日期。 – usr
我已经明确提及我需要Master表中的'Cash'列的总和纯粹取决于主表..... – Pradeep