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

Откуда:
Сообщений: 183
Есть 2 таблицы
Tovar([idTovar], [name], [opisanie], [artikul])
и nali4ie([sklad],[tovar],[kolvo])

Tovar - это справочник товара и nali4ie - это информация о наличии на складах. [idTovar] и [tovar] - это идентификаторы товара

Важно то, что если товара на складе нет, то в таблице nali4ie нет строки по этому складу=[sklad], товару=[tovar] , а не строка с [sklad],[tovar] и [kolvo]=0

Нужен запрос который бы выдавал следующие столбцы

[idTovar], [name], [opisanie], [artikul], [kolvo]

[kolvo] это количество при [sklad]=@sklad,
но если не существует записи в nali4ie с указанным складом @sklad и товаром [idTovar], то [kolvo] =0

то есть при объединении этих таблиц по [idTovar]=[tovar] товары отсутствующие в @sklad будут исключены, а нужно не исключать, а поставить 0.

Помогите, пожалуйста!
1 май 14, 01:09    [15961264]     Ответить | Цитировать Сообщить модератору
 Re: Прошу помощи с запросом  [new]
Glory
Member

Откуда:
Сообщений: 104751
ilshatkin
то есть при объединении этих таблиц по [idTovar]=[tovar] товары отсутствующие в @sklad будут исключены

Кроме inner join есть еще и другие join-ы. Например, left outer join
1 май 14, 10:23    [15961519]     Ответить | Цитировать Сообщить модератору
 Re: Прошу помощи с запросом  [new]
ilshatkin
Member

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

Ага, спасибо за наводку.
При таком пути у товара не в наличии будет стоять NULL. Как сделать чтобы был 0?
1 май 14, 12:15    [15961697]     Ответить | Цитировать Сообщить модератору
 Re: Прошу помощи с запросом  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
ilshatkin,
http://technet.microsoft.com/ru-ru/library/ms184325(v=SQL.105).aspx
1 май 14, 12:39    [15961743]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить