mikybrain1 Ответов: 2

Tsql как правильно использовать функцию HAVING


Эксперты Здравствуйте! ,

Я сделал математическое уравнение, основанное на столбцах, и я хочу получить только значения & lt; 10 и > 10. Я пробовал использовать Having, но это не работает. Он все еще показывает мне значения 0.

пример;


Спасибо!

Что я уже пробовал:

SELECT DISTINCT 
 ProjectNr,
 SUM(GWVS) - SUM(GWVS2) AS GWValue1,
 SUM(ABVS) - SUM(GWVS2) AS GWValue2,
 SUM(TSVS) - SUM(GWVS2) AS GWValue2
FROM TBL1
WHERE RB IN (North)

GROUP BY ProjectNr

HAVING
SUM(GWVS) - SUM(GWVS2) <>10

F-ES Sitecore

Какими "ценностями" вы хотите быть <10 или >10? GWValue1 и т. д.? Вы хотите, чтобы эти значения были включены в сумму и просто не показывались? Или вы хотите, чтобы они были включены в сумму?

mikybrain1

Привет Возвращаемые значения < или > 10 должны быть указаны в предложении HAVING

Richard Deeming

Неудивительно, что он возвращает значения 0, поскольку 0 меньше 10! :)

Нажмите кнопку "улучшить вопрос" и обновите свой вопрос с четким и точным описанием проблемы.

2 Ответов

Рейтинг:
1

Magic Wonder

Привет,

Проверить это...

Предложение SQL HAVING[^]

Надеюсь, это вам поможет.

Овации


Рейтинг:
0

phil.o

Если вы также хотите исключить 0 значений, то вы должны указать это ограничение в своем запросе:

SELECT DISTINCT 
 ProjectNr,
 SUM(GWVS) - SUM(GWVS2) AS GWValue1,
 SUM(ABVS) - SUM(GWVS2) AS GWValue2,
 SUM(TSVS) - SUM(GWVS2) AS GWValue2
FROM TBL1
WHERE RB IN (North)
 
GROUP BY ProjectNr
 
HAVING
 (SUM(GWVS) - SUM(GWVS2)) <> 10
 AND (SUM(GWVS) - SUM(GWVS2)) <> 0