m.g*_*naj 0 sql t-sql sql-server-2008
我有一组物品.每个组都有主要项目或标题,假设该组中有项目.
我想在这个组中选择这些项目并对它们进行一些数学计算,让我们说我想总结它们.
例如:这样的表
Code Description Price
----------- ------------- -----
12-5000 Toys
12-5000-100 FIFA Game 200$
12-5000-200 PEPSI MAN 150$
12-5000-300 X-MEN 120$
12-6000 Movies
12-6000-100 Scarface 200$
12-6000-200 BADBOYS1 200$
12-6000-300 GODFAther1 120$
Run Code Online (Sandbox Code Playgroud)
我渴望得到的结果:
Description Total
----------- -----
Toys 470
Movies 520
Run Code Online (Sandbox Code Playgroud)
;WITH x AS
(
SELECT Code, Description FROM dbo.Table
WHERE price IS NULL -- =0? can't tell what blank means
)
SELECT x.Description, SUM(t.Price)
FROM dbo.Table AS t
INNER JOIN x
ON LEFT(t.Code, 7) = x.Code
AND t.Code > x.Code
GROUP BY x.Description;
Run Code Online (Sandbox Code Playgroud)
编辑
因为我们已经知道价格确实存储为像'400$'... 一样的字符串...
;WITH x AS
(
SELECT Code, Description FROM dbo.Table
WHERE LEN(price) = 0
)
SELECT x.Description, SUM(CONVERT(DECIMAL(18,2), REPLACE(t.Price,'$','')))
FROM dbo.Table AS t
INNER JOIN x
ON LEFT(t.Code, 7) = x.Code
AND t.Code > x.Code
GROUP BY x.Description;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |