SQL里group by的问题

fenghan_66 2008-03-20 05:35:56
代码如下:

select a.DocNum,a.CardName,Sum(b.OpenQty*b.Price) as '金额',
case when b.Currency!='RMB' then sum(b.GTotal/b.Quantity*b.OpenQty/b.rate) else sum(b.GTotal/b.Quantity*b.OpenQty) end as '净值',
Sum(b.OpenQty*b.Price)-sum(b.GTotal/b.Quantity*b.OpenQty) as '税收',a.NumatCard,a.DocDuedate,a.DocDate,a.TaxDate
from oqut as a left outer join QUT1 as b on a.DocEntry = b.DocEntry
group by a.DocNum,a.CardName,a.NumatCard,a.DocDuedate,a.DocDate,a.TaxDate
/*
代码报错,一直让我把b.Currency这个字段放入Group by里,但是我需要它来做判断,不知道有什么办法..
各位高手赐教啊...
*/

...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangCK 2008-03-20
  • 打赏
  • 举报
回复
select a.DocNum,a.CardName,Sum(b.OpenQty*b.Price) as '金额',
sum(b.GTotal/b.Quantity*b.OpenQty/(case when b.Currency!='RMB' then b.rate else 1 end )) as '净值',
Sum(b.OpenQty*b.Price)-sum(b.GTotal/b.Quantity*b.OpenQty) as '税收',a.NumatCard,a.DocDuedate,a.DocDate,a.TaxDate
from oqut as a left outer join QUT1 as b on a.DocEntry = b.DocEntry
group by a.DocNum,a.CardName,a.NumatCard,a.DocDuedate,a.DocDate,a.TaxDate
-狙击手- 2008-03-20
  • 打赏
  • 举报
回复
select a.DocNum,a.CardName,Sum(b.OpenQty*b.Price) as '金额',
sum(b.GTotal/b.Quantity*b.OpenQty/(case when b.Currency!='RMB' then b.rate else 1 end )) as '净值',
Sum(b.OpenQty*b.Price)-sum(b.GTotal/b.Quantity*b.OpenQty) as '税收',a.NumatCard,a.DocDuedate,a.DocDate,a.TaxDate
from oqut as a left outer join QUT1 as b on a.DocEntry = b.DocEntry
group by a.DocNum,a.CardName,a.NumatCard,a.DocDuedate,a.DocDate,a.TaxDate
想飞的狼 2008-03-20
  • 打赏
  • 举报
回复
sum汇总
pt1314917 2008-03-20
  • 打赏
  • 举报
回复


select a.DocNum,a.CardName,Sum(b.OpenQty*b.Price) as '金额',
sum(case when b.Currency!='RMB' then b.GTotal/b.Quantity*b.OpenQty/b.rate else b.GTotal/b.Quantity*b.OpenQty end) as '净值',
Sum(b.OpenQty*b.Price)-sum(b.GTotal/b.Quantity*b.OpenQty) as '税收',
a.NumatCard,a.DocDuedate,a.DocDate,a.TaxDate
from oqut as a left outer join QUT1 as b on a.DocEntry = b.DocEntry
group by a.DocNum,a.CardName,a.NumatCard,a.DocDuedate,a.DocDate,a.TaxDate


dobear_0922 2008-03-20
  • 打赏
  • 举报
回复
--try
select a.DocNum,a.CardName,Sum(b.OpenQty*b.Price) as '金额'
,sum(case when b.Currency<>'RMB' then b.GTotal/b.Quantity*b.OpenQty/b.rate else b.GTotal/b.Quantity*b.OpenQty end) as '净值'
,Sum(b.OpenQty*b.Price)-sum(b.GTotal/b.Quantity*b.OpenQty) as '税收'
,a.NumatCard,a.DocDuedate,a.DocDate,a.TaxDate
from oqut as a left outer join QUT1 as b on a.DocEntry = b.DocEntry
group by a.DocNum,a.CardName,a.NumatCard,a.DocDuedate,a.DocDate,a.TaxDate

34,592

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧