Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Нужна помощь (число прочтений - 1500 )
Marten
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 44
Зарегистрирован: 02. Июля 2012
Нужна помощь
28. Июня 2014 :: 07:25
Печать  
Требуется получить Остатки и Резервы по ВСЕМ товарам и по ВСЕМ складам

sql 2000

[code]
           |SELECT
           |
           |      Товары.code AS Код,
           |      Склады.descr AS Склад,
           |      ISNULL(Рег.ОстатокТовараОстаток,0) AS Кво,
           |      ISNULL(Рег2.РезервТовараОстаток,0) AS Резерв
           |
           |FROM
           |
           |      $Справочник.Номенклатура AS Товары
           |
           |LEFT JOIN
           |
           |      $РегистрОстатки.ОстаткиТоваров(,,,
           |                                          (Товар,Склад),(ОстатокТовара)) as Рег
           |
           |            ON Товары.id = Рег.Товар
           |
           |LEFT JOIN
           |
           |      $РегистрОстатки.РезервыТоваров(,,,
           |                                          (Товар,Склад),(РезервТовара)) as Рег2
           |
           |            ON  Рег.Товар = Рег2.Товар
           |                  AND Рег.Склад = Рег2.Склад
           |
           |RIGHT JOIN
           |
           |      $Справочник.МестаХранения AS Склады
           |      
           |            ON Рег.Склад = Склады.id
           |
           |WHERE
           |
           |      Товары.isfolder = 2
           |
[/code]

Не пойму как присоединить склады к товару.
  
Наверх
 
IP записан
 
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 278
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: Нужна помощь
Ответ #1 - 28. Июня 2014 :: 07:30
Печать  
если нужно видеть все сочетания товар-склад, надо юзать cross join этих таблиц
  
Наверх
 
IP записан
 
Marten
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 44
Зарегистрирован: 02. Июля 2012
Re: Нужна помощь
Ответ #2 - 28. Июня 2014 :: 08:31
Печать  
to (pavel_tr) Спасибо.
Правильно?

[code]
           |SELECT
           |
           |      Товары.code AS Код,
           |      Склады.descr AS Склад,
           |      ISNULL(Рег.ОстатокТовараОстаток,0) AS Кво,
           |      ISNULL(Рег2.РезервТовараОстаток,0) AS Резерв
           |
           |FROM
           |
           |      $Справочник.Номенклатура AS Товары
           |
           |CROSS JOIN
           |
           |      $Справочник.МестаХранения AS Склады
           |
           |LEFT JOIN
           |
           |      $РегистрОстатки.ОстаткиТоваров(,,,
           |                                          (Товар,Склад),(ОстатокТовара)) as Рег
           |
           |            ON Товары.id = Рег.Товар
           |                  AND Склады.id = Рег.Склад
           |
           |LEFT JOIN
           |
           |      $РегистрОстатки.РезервыТоваров(,,,
           |                                          (Товар,Склад),(РезервТовара)) as Рег2
           |
           |            ON Товары.id = Рег2.Товар
           |                  AND Склады.id = Рег2.Склад
           |
           |WHERE
           |
           |      Товары.isfolder = 2
           |
[/code]
  
Наверх
 
IP записан
 
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 278
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: Нужна помощь
Ответ #3 - 28. Июня 2014 :: 12:18
Печать  
Ну да, как-то так. Смотря что нужно получить ))
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать