Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) ИндексированнаяТаблица и запрос (число прочтений - 6045 )
PRO100_Mixa
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 11. Августа 2013
Re: ИндексированнаяТаблица и запрос
Ответ #15 - 12. Августа 2013 :: 14:16
Печать  
подскажите как в этом случае объединить запросы?  я еще неопытен в написании запросов Печаль
Код
Выбрать все
SELECT Номенклатура [Номенклатура $Справочник.Номенклатура]
FROM
(
(SELECT Номенклатура.ID [Ном $Справочник.Номенклатура]
FROM $Справочник.Номенклатура AS Номенклатура With (NOLOCK)
WHERE ($Номенклатура.Артикул LIKE '%***%'))
INNER JOIN
(SELECT ОстаткиТМЦОстатки.Номенклатура [Номенклатура $Справочник.Номенклатура]
	, Sum(ОстаткиТМЦОстатки.КоличествоОстаток) СуммаКоличествоОстаток
FROM $РегистрОстатки.ОстаткиТМЦ(,,,
		Номенклатура,) AS ОстаткиТМЦОстатки
GROUP BY ОстаткиТМЦОстатки.Номенклатура) AS Остатки ON Ном.ID = ОстаткиТМЦОстатки.Номенклатура
) 

  
Наверх
 
IP записан
 
PRO100_Mixa
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 11. Августа 2013
Re: ИндексированнаяТаблица и запрос
Ответ #16 - 12. Августа 2013 :: 14:27
Печать  
Допер, спасибо за потраченное время  Круглые глаза
Код
Выбрать все
SELECT Номенклатура [Номенклатура $Справочник.Номенклатура]
, Остаток Остаток
FROM
((SELECT Номенклатура.ID Ном
FROM $Справочник.Номенклатура AS Номенклатура With (NOLOCK)
WHERE ($Номенклатура.Артикул LIKE '%***%')) AS Товар
LEFT JOIN
(SELECT ОстаткиТМЦОстатки.Номенклатура Номенклатура
	, Sum(ОстаткиТМЦОстатки.КоличествоОстаток) Остаток
FROM $РегистрОстатки.ОстаткиТМЦ(,,,
		Номенклатура,) AS ОстаткиТМЦОстатки
GROUP BY ОстаткиТМЦОстатки.Номенклатура) AS Остатки ON Товар.Ном = Остатки.Номенклатура
)
GROUP BY Остатки.Номенклатура, Остатки.Остаток
 


теперь дальше Условие IsNull в каком месте вставить чтобы добавить товар с нулевыми остатками в правую часть? если левое соединение использовать?
в плане выполнения запроса нулевые записи удаляются при Hash Match
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: ИндексированнаяТаблица и запрос
Ответ #17 - 13. Августа 2013 :: 05:06
Печать  
Так попробуй
Код
Выбрать все
SELECT Спр.ID [Номенклатура $Справочник.Номенклатура]
	, ОстаткиТМЦОстатки.КоличествоОстаток Остаток
FROM $РегистрОстатки.ОстаткиТМЦ(,RIGHT JOIN $Справочник.Номенклатура Спр (nolock) ON ($Спр.Артикул LIKE '%***%') AND (Спр.ID=Номенклатура),,
		Номенклатура, Количество) AS ОстаткиТМЦОстатки
 


либо
Код
Выбрать все
SELECT СпрН.ID [Номенклатура $Справочник.Номенклатура]
  , ТаблицаОстатки.Остаток
FROM $Справочник.Номенклатура СпрН (nolock)
LEFT JOIN
(SELECT Номенклатура
	, ОстаткиТМЦОстатки.КоличествоОстаток Остаток
FROM $РегистрОстатки.ОстаткиТМЦ(,INNER JOIN $Справочник.Номенклатура Спр (nolock) ON Спр.ID=Номенклатура, $Спр.Артикул LIKE '%***%',
		Номенклатура, Количество) AS ОстаткиТМЦОстатки) AS ТаблицаОстатки ON СпрН.ID=ТаблицаОстатки.Номенклатура
WHERE $СпрН.Артикул LIKE '%***%'
 

  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать