| 
    
            
         
         | 
    
  | 
Запрос с полным соединением | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        mihalich979    
     06.07.15 
            ✎
    17:50 
 | 
         
        Вот делаю запрос
 
        Выборка.Текст = "ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Период КАК Период, | ХозрасчетныйОстаткиИОбороты.Счет.КодБыстрогоВыбора, | ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток КАК Кол2, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток КАК Кол8, | ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК Кол6, | ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК Кол4, | ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаНачальныйОстаток КАК Кол3, | ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаКонечныйОстаток КАК Кол9, | ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаОборотДт КАК Кол7, | ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаОборотКт КАК Кол5, | ХозрасчетныйОстаткиИОбороты1.Период КАК Период1, | ХозрасчетныйОстаткиИОбороты1.Счет.КодБыстрогоВыбора КАК СчетКодБыстрогоВыбора1, | ХозрасчетныйОстаткиИОбороты1.СуммаНачальныйОстаток КАК Кол10, | ХозрасчетныйОстаткиИОбороты1.СуммаКонечныйОстаток КАК Кол13, | ХозрасчетныйОстаткиИОбороты1.СуммаОборотДт КАК Кол12, | ХозрасчетныйОстаткиИОбороты1.СуммаОборотКт КАК Кол11 |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, , День, , , , ) КАК ХозрасчетныйОстаткиИОбороты1 | ПОЛНОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, , День, , , , ) КАК ХозрасчетныйОстаткиИОбороты | ПО ХозрасчетныйОстаткиИОбороты1.Период = ХозрасчетныйОстаткиИОбороты.Период |ГДЕ | ХозрасчетныйОстаткиИОбороты.Счет.КодБыстрогоВыбора = &Код1 | И ХозрасчетныйОстаткиИОбороты.Период МЕЖДУ &НП И &КП | И ХозрасчетныйОстаткиИОбороты1.Счет.КодБыстрогоВыбора = &Код2 | И ХозрасчетныйОстаткиИОбороты1.Период МЕЖДУ &НП И &КП | |УПОРЯДОЧИТЬ ПО | Период"; Выборка.УстановитьПараметр("Код1", "6723"); Выборка.УстановитьПараметр("Код2", "6603"); Выборка.УстановитьПараметр("НП", НП); Выборка.УстановитьПараметр("КП", КП); Возврат Выборка.Выполнить().Выгрузить(); С итоге получаю объединенную таблицу, но некоторые даты отсутсутствуют. понимаю что объединение по периоду и если ХозрасчетныйОстаткиИОбороты.Период = Неопределено или ХозрасчетныйОстаткиИОбороты1.Период = Неопределено то эти строки пропадают. но как сделать чтобы не пропадали не могу сообразить.  | 
|||
| 
    1
    
        Господин ПЖ    
     06.07.15 
            ✎
    17:53 
 | 
         
        ты соединением чего добиться хочешь? в ОстаткиИОбороты не выводятся даты когда движений не было     
         | 
|||
| 
    2
    
        DTXqueque    
     06.07.15 
            ✎
    17:54 
 | 
         
        Где отсутсвуют?
 
        isNull(ХозрасчетныйОстаткиИОбороты.Период, ХозрасчетныйОстаткиИОбороты1.Период) КАК Период?  | 
|||
| 
    3
    
        mihalich979    
     06.07.15 
            ✎
    18:16 
 | 
         
        (1) Хочу полную таблицу.
 
        если были движения в этот день по счету 6603 и были движения в этот день по счету 6723 то все гуд объединяется если были движения в этот день по счету 6603 и не было движений в этот день по счету 6723 то строка пропадает если не было движений в этот день по счету 6603 и были движения в этот день по счету 6723 то строка пропадает вот в чем трабла  | 
|||
| 
    4
    
        mihalich979    
     06.07.15 
            ✎
    18:17 
 | 
         
        (2) не понял чего-то     
         | 
|||
| 
    5
    
        Господин ПЖ    
     06.07.15 
            ✎
    18:22 
 | 
         
        (3) это эффект от Декарта
 
        РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, , День, , , , ) КАК ХозрасчетныйОстаткиИОбороты1 | ПОЛНОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, , День, , , , ) КАК ХозрасчетныйОстаткиИОбороты - если в одной из таблиц записей нет - выпиливается вся строка соединяй их по "ИСТИНА"  | 
|||
| 
    6
    
        DTXqueque    
     06.07.15 
            ✎
    18:23 
 | 
         
        (3) С чего бы ей пропадать то? В одном из периодов будет дата, в другом NULL. Дальшу кури (2)     
         | 
|||
| 
    7
    
        mihalich979    
     06.07.15 
            ✎
    18:32 
 | 
         
        (6) так я формировал отдельно 
 
        сначала по одному счета потом по другому и в одном есть даты 19, 22, 23 в другом нет при объединении дат 19, 22, 23 нет вообще  | 
|||
| 
    8
    
        DTXqueque    
     06.07.15 
            ✎
    18:39 
 | 
         
        (7) Ну эт тебе надо проверить прокладку между стулом и клавиатурой)     
         | 
|||
| 
    9
    
        DTXqueque    
     06.07.15 
            ✎
    18:41 
 | 
         
        Если не веришь, давай скрины временных таблиц и объединения)     
         | 
|||
| 
    10
    
        mihalich979    
     06.07.15 
            ✎
    18:56 
 | 
         
        (6) не курится что-то :(     
         | 
|||
| 
    11
    
        DTXqueque    
     06.07.15 
            ✎
    19:02 
 | 
         
        (10) У тебя косяк в (7). Не может такого быть, чтобы полное соединение удаляло что-нибудь     
         | 
|||
| 
    12
    
        Одинесю    
     06.07.15 
            ✎
    19:09 
 | 
         
        (7) У тебя соединение, а не объединение, может тебе надо ОБЪЕДИНИТЬ ВСЕ?     
         | 
|||
| 
    13
    
        hhhh    
     06.07.15 
            ✎
    20:08 
 | 
         
        (10) ну вот
 
        |ГДЕ | ХозрасчетныйОстаткиИОбороты.Счет.КодБыстрогоВыбора = &Код1 и | И ХозрасчетныйОстаткиИОбороты1.Счет.КодБыстрогоВыбора = &Код2 ты же сам поставил условие, чтобы жестко были и те и другие записи. и сам же удивляешься. то есть соединение правильно всё соединяет. А когда идет дальше, тут ты со своим ГДЕ.  | 
|||
| 
    14
    
        mihalich979    
     07.07.15 
            ✎
    13:39 
 | 
         
        Отбой
 
        решил вопрос вложенным запросом. "ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Период КАК Период, | ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток КАК Кол2, | ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК Кол4, | ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК Кол6, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток КАК Кол8, | ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаНачальныйОстаток КАК Кол3, | ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаОборотКт КАК Кол5, | ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаОборотДт КАК Кол7, | ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаКонечныйОстаток КАК Кол9, | ВложенныйЗапрос.СуммаНачальныйОстаток КАК Кол10, | ВложенныйЗапрос.СуммаОборотКт КАК Кол11, | ВложенныйЗапрос.СуммаОборотДт КАК Кол12, | ВложенныйЗапрос.СуммаКонечныйОстаток КАК Кол13 |ИЗ | (ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Период КАК Период, | ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток, | ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт, | ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток | ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, , День, , , , ) КАК ХозрасчетныйОстаткиИОбороты | ГДЕ | ХозрасчетныйОстаткиИОбороты.Период МЕЖДУ &НП И &КП | И ХозрасчетныйОстаткиИОбороты.Счет.КодБыстрогоВыбора = ""6603"") КАК ВложенныйЗапрос | ПОЛНОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, , День, , , , ) КАК ХозрасчетныйОстаткиИОбороты | ПО ВложенныйЗапрос.Период = ХозрасчетныйОстаткиИОбороты.Период |ГДЕ | ХозрасчетныйОстаткиИОбороты.Период МЕЖДУ &НП И &КП | И ХозрасчетныйОстаткиИОбороты.Счет.КодБыстрогоВыбора = ""6723"" | |УПОРЯДОЧИТЬ ПО | Период";  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |