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

Откуда:
Сообщений: 30
есть таблица купленных продуктов

Товар Кол-во Цена Сумма
------------------------------------
Продукт 300 шт. 0,10 30,00
Продукт 150 шт. 0,11 16,50
Продукт 50 шт. 0,12 6,00


есть таблица выданных продуктов

Товар Кол-во Цена Сумма
------------------------------------
Продукт 10 шт. 0,12 12,00


У меня показывает

Товар Кол-во Цена Сумма
------------------------------------
Продукт NULL 0,10 30,00
Продукт NULL 0,11 16,50
Продукт 40 шт. 0,12 4,80


как сделать, чтобы NULL не отображался по не выданным,
а по выданным вычитал бы

Товар Кол-во Цена Сумма
------------------------------------
Продукт 300 шт. 0,10 30,00 - остался бы не изменённым
Продукт 150 шт. 0,11 16,50 - остался бы не изменённым
Продукт 40 шт. 0,12 4,80 - вычитал бы
2 дек 11, 04:34    [11693351]     Ответить | Цитировать Сообщить модератору
 Re: group by  [new]
Guf
Member

Откуда: Новосибирск
Сообщений: 659
vuginet,

300 - NULL = NULL
Функция ISNULL (Transact-SQL)
2 дек 11, 06:02    [11693362]     Ответить | Цитировать Сообщить модератору
 Re: group by  [new]
vuginet
Member

Откуда:
Сообщений: 30
Спасибо, Guf, уже сам нашёл,
нужно было

SUM(CASE WHEN A2.кол-во IS NULL THEN A1.кол-во ELSE A1.кол-во-A2.кол-во END) AS кол-во

использовать :)
2 дек 11, 07:02    [11693393]     Ответить | Цитировать Сообщить модератору
 Re: group by  [new]
Guf
Member

Откуда: Новосибирск
Сообщений: 659
vuginet,

ISNULL(SUM(A1.кол-во), 0) - ISNULL(SUM(A2.кол-во), 0) AS кол-во
2 дек 11, 07:10    [11693398]     Ответить | Цитировать Сообщить модератору
 Re: group by  [new]
vuginet
Member

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

Да..., попробовал, и твой крутой, работает, супер, спасибо, Guf !!!
2 дек 11, 07:45    [11693426]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить