Mysql 如何使用动态生成字段在Sql Server中进行添加?

Mysql 如何使用动态生成字段在Sql Server中进行添加?,mysql,sql,sql-server,Mysql,Sql,Sql Server,我有一张叫“购物车”的桌子。字段包括: CartId ClientId ProductId 数量 现在,我将使用ProductMaster加入此表,以获取ProductName和ProuctPrice select cc.CartId,cc.ProductId,pm.ProductName,cc.Qty, (pm.ProductPrice * cc.Qty) As SubTotal from ClientCart as cc inner join ProductM

我有一张叫“购物车”的桌子。字段包括:

  • CartId
  • ClientId
  • ProductId
  • 数量
现在,我将使用
ProductMaster
加入此表,以获取
ProductName
ProuctPrice

select cc.CartId,cc.ProductId,pm.ProductName,cc.Qty,
        (pm.ProductPrice * cc.Qty) As SubTotal 
from ClientCart as cc 
    inner join ProductMaster as pm on cc.ProductId = pm.ProductId 
现在,我想使用动态字段生成
GrandTotal
。我该怎么做

with CTE as
(
select cc.CartId,cc.ProductId,pm.ProductName,cc.Qty,
        (pm.ProductPrice * cc.Qty) As SubTotal 
from ClientCart as cc 
    inner join ProductMaster as pm on cc.ProductId = pm.ProductId 
where cc.ClientId = @id
)
select *
from CTE
union
select null,null, null,null, sum(SubTotal) -- this is a grand total of all sub totals
from CTE
这不是正确的汇总方法,但也不是您的方法,因此这将很好地工作

这不是正确的汇总方法,但也不是您的方法,因此这将很好地工作

尝试以下方法:

select subtable.CartId, sum(subtable.SubTotal)
from (
select cc.CartId,cc.ProductId,pm.ProductName,cc.Qty,
        (pm.ProductPrice * cc.Qty) As SubTotal 
from ClientCart as cc 
inner join ProductMaster as pm on cc.ProductId = pm.ProductId 
where cc.ClientId = @id ) subtable
group by subtable.CartId;
试试这个:

select subtable.CartId, sum(subtable.SubTotal)
from (
select cc.CartId,cc.ProductId,pm.ProductName,cc.Qty,
        (pm.ProductPrice * cc.Qty) As SubTotal 
from ClientCart as cc 
inner join ProductMaster as pm on cc.ProductId = pm.ProductId 
where cc.ClientId = @id ) subtable
group by subtable.CartId;

删除不相关的mysql标记,添加一些示例表数据和预期结果。(格式化文本)删除不相关的mysql标记添加一些示例表数据和预期结果。(作为格式化文本。)这不会生成单独的grandtotal字段@DevKriya编辑您的问题以更好地解释。此外,SQL还有列,甚至在结果中也是如此。字段不是SQL对象,因此解释为行这不会生成单独的grandtotal字段@DevKriya编辑您的问题以更好地解释。此外,SQL还有列,甚至在结果中也是如此。字段不是SQL对象,因此解释为行