Regex.Replace("ThisIsMyCapsDelimitedString", "(\\B[A-Z])", " $1")
Это вернет итоговые значения для свойства и типа
SELECT PropertyID,
TYPE,
SUM(Amount)
FROM yourTable
GROUP BY PropertyID,
TYPE
. Это вернет только активные значения
SELECT PropertyID,
TYPE,
SUM(Amount)
FROM yourTable
WHERE EndDate IS NULL
GROUP BY PropertyID,
TYPE
, и это вернет итоги для свойств
SELECT PropertyID,
SUM(Amount)
FROM yourTable
WHERE EndDate IS NULL
GROUP BY PropertyID
......
Предложение WHERE
всегда концептуально применяется (очевидно, что план выполнения может делать то, что он хочет) до GROUP BY
. Он должен стоять перед GROUP BY
в запросе и действовать как фильтр до того, как вещи будут SUM
med, именно так работает большинство ответов здесь.
Вы также должны знать о необязательном предложении HAVING
, которое должно стоять после GROUP BY
. Это можно использовать для фильтрации результирующих свойств групп после GROUP
ing - например, HAVING SUM (Amount)> 0
Попробуйте следующее:
SELECT
PropertyId,
SUM(Amount) as TOTAL_COSTS
FROM
MyTable
WHERE
EndDate IS NULL
GROUP BY
PropertyId
вы имеете в виду getiing sum (количество всех типов) для каждого свойства, где EndDate имеет значение null:
SELECT propertyId, SUM(Amount) as TOTAL_COSTS
FROM MyTable
WHERE EndDate IS NULL
GROUP BY propertyId
похоже, что вам нужно что-то вроде:
select PropertyID, SUM(Amount)
from MyTable
Where EndDate is null
Group by PropertyID