是否有查询为每个StoreName检索TotalMoney,TotalPaidMoney,TotalReturnMoney。
像:
StoreName| TotalPaid | ToatalReturn | TotalMoney
Pizza | sum of PaidMoney | sum of ReturnMoney | sum of TotalMoney
|
从此表
Date | StoreName|PaidMoney| ReturnMoney| TotalMoney
*********
2014 | Pizaa | 33$ | 12$ | 120$
2014 Main 12$ 23$ 123$
2014 | Pizaa | 33$ | 12$ | 120$
2014 | Main | 33$ | 12$ | 120$
表I有: 商店表
答案 0 :(得分:0)
您可以轻松使用GROUP BY语句,如下所示:
SELECT StoreName, SUM(PaidMoney) as TotalPaid, SUM(ReturnMoney) as TotalReturn, SUM(TotalMoney) as TotalMoney FROM store_table GROUP BY StoreName
答案 1 :(得分:0)
您可以使用以下命令:
SELECT SUM(PaidMoney) AS TotalPaid, SUM(ReturnMoney) AS TotalReturn, SUM(TotalMoney) AS TotalMoney FROM Table WHERE Store='Pizaa';
或者,如果您想要所有商店并按商店重新组合:
SELECT SUM(PaidMoney) AS TotalPaid, SUM(ReturnMoney) AS TotalReturn, SUM(TotalMoney) AS TotalMoney FROM Table GROUP BY Store;
答案 2 :(得分:0)
如果你的表中确实有这种货币符号,那可能会有点复杂。我现在假设,您的列中始终有$符号作为最后一个符号,并且没有小数值:
SELECT
StoreName,
SUM(PAID_MONEY_VALUE) AS SUM_PAID_MONEY_VALUE,
SUM(RETURN_MONEY_VALUE) AS SUM_RETURN_MONEY_VALUE,
SUM(TOTAL_MONEY_VALUE) AS SUM_TOTAL_MONEY_VALUE
FROM
(
SELECT
StoreName,
CONVERT(int, SUBSTRING(PaidMoney, 1, LEN(PaidMoney - 1))) AS PAID_MONEY_VALUE,
CONVERT(int, SUBSTRING(ReturnMoney, 1, LEN(ReturnMoney - 1))) AS RETURN_MONEY_VALUE,
CONVERT(int, SUBSTRING(TotalMoney, 1, LEN(TotalMoney - 1))) AS TOTAL_MONEY_VALUE
FROM <YOUR_TABLE>
) AS SUBQUERY
GROUP BY StoreName