Sql server 如何对MSSQL中的列值求和
我是mssql新手,这里我需要求一列值的和 但是在我的例子中,表之间有一些连接。最后,我有一个包含两行输出的列 我要做的是对查询的最终输出求和 这是我的疑问:Sql server 如何对MSSQL中的列值求和,sql-server,sql-server-2014,Sql Server,Sql Server 2014,我是mssql新手,这里我需要求一列值的和 但是在我的例子中,表之间有一些连接。最后,我有一个包含两行输出的列 我要做的是对查询的最终输出求和 这是我的疑问: SELECT SUM(ESCD.ITEM_QTY) * ((SELECT COLOC_PROD_PRICE FROM LOM_LNK_PROD_COMP WHERE COLOC_PROD_CODE = ITEM_ID)
SELECT
SUM(ESCD.ITEM_QTY) * ((SELECT COLOC_PROD_PRICE
FROM LOM_LNK_PROD_COMP
WHERE COLOC_PROD_CODE = ITEM_ID)
/
((SELECT LMUL.UOL_CONV_QTY
FROM LOM_MST_UOM_LINK AS LMUL
JOIN LOM_MST_PRODUCT AS LMP
ON LMUL.UOL_MAIN_UOM_CODE = LMP.PROD_STOCK_UOM
AND LMP.PROD_CODE = ESCD.ITEM_ID)/LMUL.UOL_CONV_QTY )) AS 'TOTAL_AMOUNT'
FROM EC_SHOPPING_CART_DETAIL AS ESCD
JOIN LOM_MST_UOM_LINK AS LMUL
ON LMUL.UOL_MAIN_UOM_CODE = ITEM_PACK_SIZE
WHERE CREATED_BY = 'xyz'
AND CHECK_OUT = 'FALSE'
GROUP BY ITEM_ID,LMUL.UOL_CONV_QTY
输出:
预期为:
有人能帮我解决这个问题吗。试试以下方法:
SELECT
SUM(X.TOTAL_AMOUNT) AS 'TOTAL_AMOUNT'
FROM
(
SELECT
SUM(ESCD.ITEM_QTY) * ((SELECT COLOC_PROD_PRICE
FROM LOM_LNK_PROD_COMP
WHERE COLOC_PROD_CODE = ITEM_ID)
/
((SELECT LMUL.UOL_CONV_QTY
FROM LOM_MST_UOM_LINK AS LMUL
JOIN LOM_MST_PRODUCT AS LMP
ON LMUL.UOL_MAIN_UOM_CODE = LMP.PROD_STOCK_UOM
AND LMP.PROD_CODE = ESCD.ITEM_ID)/LMUL.UOL_CONV_QTY )) AS 'TOTAL_AMOUNT'
FROM EC_SHOPPING_CART_DETAIL AS ESCD
JOIN LOM_MST_UOM_LINK AS LMUL
ON LMUL.UOL_MAIN_UOM_CODE = ITEM_PACK_SIZE
WHERE CREATED_BY = 'xyz'
AND CHECK_OUT = 'FALSE'
GROUP BY ITEM_ID,LMUL.UOL_CONV_QTY
) X;
请在这里包括样本数据。很难破译您的查询。它对我有效。谢谢,您能告诉我什么是“X”以及它是如何工作的吗@ankurpattelit被称为派生表。如果您在sql中的google
派生表上搜索,您将发现许多关于它们的信息。此外,如果答案能解决您的问题,请接受。谢谢。为了给您一个想法,我刚刚将您的查询输出放入一个名为x
的表中。实际上,您可以随意命名它,然后在from
之后使用它,就像实际的表一样。