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对象,因此解释为行