Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Если отрицательное значение - вывести 0  [new]
сrocus23
Member

Откуда:
Сообщений: 12
Необходимо в случае если выч. поле дает отрицательное значение вывести 0

Пример:

Запрос:

SELECT Tab3.ino AS Expr5, Tab3.q, v.Qty10 AS Expr1, SUM(Tab2.Qty2) AS Expr2
FROM Tab3 LEFT OUTER JOIN
Tab2 ON Tab3.ino = Tab2.No_ LEFT OUTER JOIN
(select Tab1.[Item No_], SUM(Qty) as Qty10
from Tab1
group by Tab1.[Item No_]
) v ON Tab3.ino = v.[Item No_]

GROUP BY Tab3.ino, Tab3.q, v.Qty10

выдает:

Expr5 q Expr1 Expr2
222 5 -20 50
333 18 NULL NULL

Как изменить запрос, чтобы получить:

Expr5 q Expr1 Expr2
222 5 0 50
333 18 NULL NULL

Подскажите пожалуйста
4 фев 12, 19:15    [12033182]     Ответить | Цитировать Сообщить модератору
 Re: Если отрицательное значение - вывести 0  [new]
step_ks
Member

Откуда:
Сообщений: 936
case when v.Qty10 < 0 then 0 else v.Qty10 end AS Expr1
4 фев 12, 19:28    [12033233]     Ответить | Цитировать Сообщить модератору
 Re: Если отрицательное значение - вывести 0  [new]
сrocus23
Member

Откуда:
Сообщений: 12
step_ks,

Спасибо большое! То, что надо!
4 фев 12, 19:33    [12033254]     Ответить | Цитировать Сообщить модератору
 Re: Если отрицательное значение - вывести 0  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6202
Или так:
with t as (
	select number-10 n from master..spt_values where type='P' and number between 0 and 20
)
select n, n*SIGN(SIGN(n)+1) from t
4 фев 12, 19:35    [12033264]     Ответить | Цитировать Сообщить модератору
 Re: Если отрицательное значение - вывести 0  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
(v.Qty10 + ABS(v.Qty10 ))/2
4 фев 12, 19:55    [12033324]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить