查找sql​​ 2005中所有记录列的值的SUM

use*_*403 1 t-sql subquery

我想在列权重中找到值的SUM.我希望这个总和用于在其中一个列名称中使用公共值标识的所有记录.此外,我只想考虑那些在列类型中具有特定值的记录. 名称重量类型 1 12.00 A 2 7.00 B 2 7.00 A 1 1.00 C 2 7.00 B 1 1.00 C 2 7.00 B 1 7.00 B 2 7.00 C 2 7.00 B


$
$
$
$
$
$
$
$
$
$

对于类型A和B,我想要名称2的总权重.可以为此编写子查询,也可以只进行循环.TNX.

Rob*_*Day 6

SELECT
    Name,
    Type,
    SUM(Weight)
FROM
    MyTable
GROUP BY
    Name,
    Type
HAVING
    Name = @name
AND
    Type = @type
Run Code Online (Sandbox Code Playgroud)

或者具体针对您的要求

SELECT
    Name,
    Type,
    SUM(Weight)
FROM
    MyTable
GROUP BY
    Name,
    Type
HAVING
    Name = '2'
AND
    Type IN('A', 'B')
Run Code Online (Sandbox Code Playgroud)

但是,如果它是纯粹的单个值,那么您可以使用WHERE子句.

SELECT
    SUM(Weight)
FROM
    MyTable
WHERE
    Name = '2'
AND
    Type IN('A', 'B')
Run Code Online (Sandbox Code Playgroud)


KM.*_*KM. 5

这实际上取决于对OP问题的解释,这对我来说有点模糊.但试一试:

SELECT
    SUM(Weight)
    FROM MyTable
    WHERE Name=2 AND Type IN ('A','B','C')
Run Code Online (Sandbox Code Playgroud)