|
Запрос, как обойти лишнее соединение? | ☑ | ||
---|---|---|---|---|
0
НикДляЗапросов
11.12.13
✎
12:06
|
ВЫБРАТЬ
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток, СписокНоменклатура.Ссылка КАК Номенклатура, ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстатокРезерв ИЗ Справочник.Номенклатура КАК СписокНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, ) КАК ТоварыНаСкладахОстатки ПО СписокНоменклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки ПО СписокНоменклатура.Ссылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура.Ссылка ГДЕ (ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток > 0 ИЛИ ТоварыНаСкладахОстатки.КоличествоОстаток > 0) Нужен список номенклатуры, которая есть в остатках или в резерве |
|||
1
НикДляЗапросов
11.12.13
✎
12:06
|
Лишнее это связь со справочником
|
|||
2
Defender aka LINN
11.12.13
✎
12:08
|
Ну соедини тупо регистры, в чем проблема?
|
|||
3
НикДляЗапросов
11.12.13
✎
12:10
|
Я попробовал не получилось ((
|
|||
4
alexiv79
11.12.13
✎
12:11
|
(0) Вложенный запрос делай - Быстрее будет работать. Какая конфа?
|
|||
5
Euguln
11.12.13
✎
12:11
|
Объединить не предлагать?
|
|||
6
alexiv79
11.12.13
✎
12:12
|
(5) ну если отчет на СКд то можно и объединить
|
|||
7
НикДляЗапросов
11.12.13
✎
12:12
|
Я не могу соединить два регистра! не понимаю ОТКУДА БРАТЬ НОМЕНКЛАТУРУ
|
|||
8
alexiv79
11.12.13
✎
12:13
|
(7) Конфа какая?
|
|||
9
chelentano
11.12.13
✎
12:13
|
(7) а ты их ОБЪЕДИНИ
|
|||
10
Defender aka LINN
11.12.13
✎
12:14
|
(7) Из обоих. И орать тут не надо.
|
|||
11
НикДляЗапросов
11.12.13
✎
12:18
|
так если из обоих, то они в разных колонках будут...
У меня получается или так или вложенным запросом. можно как то без этого? |
|||
12
alexiv79
11.12.13
✎
12:19
|
Вот в качестве примера вложенного запроса
ВЫБРАТЬ ВложенныйЗапрос.Номенклатура КАК Номенклатура, СУММА(ВложенныйЗапрос.ОборотПартии) КАК ОборотПартии, СУММА(ВложенныйЗапрос.ОборотПродажи) КАК ОборотПродажи ИЗ (ВЫБРАТЬ ПартииТоваровКомпанииОбороты.Номенклатура КАК Номенклатура, СУММА(ПартииТоваровКомпанииОбороты.КоличествоОборот) КАК ОборотПартии, СУММА(0) КАК ОборотПродажи ИЗ РегистрНакопления.ПартииТоваровКомпании.Обороты(, , , ) КАК ПартииТоваровКомпанииОбороты СГРУППИРОВАТЬ ПО ПартииТоваровКомпанииОбороты.Номенклатура ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПродажиОбороты.Номенклатура, СУММА(0), СУММА(ПродажиОбороты.КоличествоОборот) ИЗ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты СГРУППИРОВАТЬ ПО ПродажиОбороты.Номенклатура) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Номенклатура УПОРЯДОЧИТЬ ПО Номенклатура |
|||
13
alexiv79
11.12.13
✎
12:21
|
+(12) Если нужно чтобы в одну колонку попадали, тогда второе поле ОборотПродажи лишнее получается
|
|||
14
Defender aka LINN
11.12.13
✎
12:27
|
(11) Это у тебя будут. У того, кто потрудился хотя бы основы SQL узнать - не будут.
|
|||
17
alexiv79
11.12.13
✎
13:00
|
(15) Зря ты так - тебе уже все написали. ты хочешь готовый текст запроса? Даже какая конфа не написал
|
|||
18
НикДляЗапросов
11.12.13
✎
13:05
|
написали? ни одного объяснения, спасибо точно некому сказать
|
|||
19
alexiv79
11.12.13
✎
13:06
|
Читай книжку Хрусталевой "Язык запросов". без основ ты ничего не поймешь
|
|||
23
НикДляЗапросов
11.12.13
✎
13:14
|
задашь сложный вопрос - ноль ответов, задашь простой - сто ответов с нулевой информацией
|
|||
24
Бледно Золотистый
11.12.13
✎
13:16
|
Ответ в (2), что (3) не получилось?
|
|||
25
alexiv79
11.12.13
✎
13:17
|
(22) Да я недавно ее прочитал - помогает, советую
|
|||
26
НикДляЗапросов
11.12.13
✎
13:17
|
(24) Ответа в два нет, так как это вопрос
соединить не получается |
|||
27
НикДляЗапросов
11.12.13
✎
13:18
|
Вопрос блин как соединить два регистра, в кого вы блин такие?
|
|||
28
Eugene555
11.12.13
✎
13:19
|
(27) про полное соединение слышал?
|
|||
29
Бледно Золотистый
11.12.13
✎
13:20
|
(26) Ладно держи готовый вариант, раз не думается
ВЫБРАТЬ ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток,0) КАК КоличествоОстатокРезерв, ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, ) КАК ТоварыНаСкладахОстатки ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура ГДЕ (ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток > 0 ИЛИ ТоварыНаСкладахОстатки.КоличествоОстаток > 0) |
|||
30
Fragster
модератор
11.12.13
✎
13:20
|
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток, 0 КАК КоличествоОстатокРезерв ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, ) КАК ТоварыНаСкладахОстатки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура, 0 КАК КоличествоОстаток, ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток ИЗ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки |
|||
31
Fragster
модератор
11.12.13
✎
13:20
|
ну и это еще свернуть можно потом
|
|||
32
Bigbro
11.12.13
✎
13:21
|
Габец Гончаров простые примеры разработки стр 206
используется Полное соединение |
|||
33
m-serg74
11.12.13
✎
13:21
|
(31) жди благодарности типа (20)
|
|||
34
Серго62
11.12.13
✎
13:24
|
(27) Соединение с условием:
ТоварыНаСкладахОстатки.Номенклатура.Ссылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура.Ссылка не канает? |
|||
35
Simod
11.12.13
✎
13:24
|
(30) А ВСЕ не лишнее?
|
|||
36
НикДляЗапросов
11.12.13
✎
13:27
|
Офигеть, смысл выкладывать неправильные ответы
(30) будет так Н1 10 - н2 20 - Н1 - 5 |
|||
37
Бледно Золотистый
11.12.13
✎
13:29
|
(36) Чё даже группировку не осилил?
|
|||
38
Sammo
11.12.13
✎
13:29
|
(36) А 31 мы пропустили?
|
|||
39
Sammo
11.12.13
✎
13:29
|
Кстати, в 30 момент - не указано на какую дату, но это уже сам затить должен, имхо.
Ведь это не окончательное решение, а принцип |
|||
40
Sammo
11.12.13
✎
13:30
|
+39 сорри, в исходном такая же пурга. Возможно здесь какая-то хитрая задумка
|
|||
41
dmpl
11.12.13
✎
13:33
|
(0) Очень просто: заменить
СписокНоменклатура.Ссылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура.Ссылка на СписокНоменклатура.Ссылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура |
|||
42
m-serg74
11.12.13
✎
13:34
|
(41) Да Вы гений:)
|
|||
43
Defender aka LINN
11.12.13
✎
13:34
|
(36) Пернатый даже готовый ответ осилить не может.
|
|||
44
dmpl
11.12.13
✎
13:35
|
(35) Если количество не нужно - можно и без ВСЕ. Если нужно - то без ВСЕ не обойдешься.
|
|||
45
НикДляЗапросов
11.12.13
✎
13:40
|
(43) Я уже все сделал, 100500 раз...И прав у тебя обзываться нет, усек, чмо?
|
|||
46
dmpl
11.12.13
✎
13:43
|
(36) Думаешь в варианте (0) такого не будет?
|
|||
47
Defender aka LINN
11.12.13
✎
13:46
|
(45) Иди отдохни маленько
|
|||
48
Bigbro
11.12.13
✎
14:18
|
похоже автор пьян..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |