|   |   | 
| 
 | Запрос, как обойти лишнее соединение? | ☑ | ||
|---|---|---|---|---|
| 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 | 
        похоже автор пьян..     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |