Имя: Пароль:
1C
1С v8
Подскажите как свернуть строки в запросе.
0 Ivan_495
 
10.02.14
18:15
Подскажите как свернуть строки в запросе. Сейчас выдает несколько одинаковых строчек , надо их схлопнуть в одну
ВЫБРАТЬ
    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.Наименование КАК КонтрНаименование,
    "" КАК Поле1,
    "" КАК Поле2,
    "" КАК Поле3
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект.Ссылка
ГДЕ
    Контрагенты.ЭтоГруппа = ЛОЖЬ
    И Контрагенты.Родитель В ИЕРАРХИИ(&Родитель)
    И Контрагенты.ПометкаУдаления = ЛОЖЬ

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Контрагенты.Ссылка,
    Контрагенты.Наименование,
    ЕСТЬNULL(БанковскиеСчета.НомерСчета, ""),
    ЕСТЬNULL(Банки.Код, ""),
    ЕСТЬNULL(Банки.КоррСчет, "")
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.БанковскиеСчета КАК БанковскиеСчета
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Банки КАК Банки
            ПО БанковскиеСчета.Банк = Банки.Ссылка
                И БанковскиеСчета.Банк = Банки.Ссылка
        ПО Контрагенты.Ссылка = БанковскиеСчета.Владелец
ГДЕ
    Контрагенты.ЭтоГруппа = ЛОЖЬ
    И Контрагенты.Родитель В ИЕРАРХИИ(&Родитель)
    И Контрагенты.ПометкаУдаления = ЛОЖЬ

УПОРЯДОЧИТЬ ПО
    КонтрНаименование
1 shuhard
 
10.02.14
18:17
(0) Group By
2 GROOVY
 
10.02.14
18:17
СГРУППИРОВАТЬ
3 Волшебник
 
модератор
10.02.14
18:18
ВЫБРАТЬ РАЗЛИЧНЫЕ
4 shuhard
 
10.02.14
18:24
(3) ты хорошо подумал, форум дети читают
5 Ivan_495
 
10.02.14
18:26
переделал.. все  равно две строчки
ВЫБРАТЬ РАЗЛИЧНЫЕ
    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.Наименование КАК КонтрНаименование,
    ПОДСТРОКА(Контрагенты.НаименованиеПолное, 1, 100) КАК КонтрНаименованиеПолное,
    Контрагенты.ЮрФизЛицо.Порядок КАК КонтрЮрФизЛицо,
    Контрагенты.Родитель КАК КонтрРодитель,
    Контрагенты.КПП КАК КонтрКПП,
    Контрагенты.ИНН КАК КонтрИНН,
    ЕСТЬNULL(КонтактнаяИнформация.Объект, "") КАК Объект,
    КонтактнаяИнформация.Тип,
    КонтактнаяИнформация.Вид,
    ПОДСТРОКА(КонтактнаяИнформация.Представление,1,200)  КАК Представление,
    "" КАК Поле1,
    "" КАК Поле2,
    "" КАК Поле3
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект.Ссылка
ГДЕ
    Контрагенты.ЭтоГруппа = ЛОЖЬ
    И Контрагенты.Родитель В ИЕРАРХИИ(&Родитель)
    И Контрагенты.ПометкаУдаления = ЛОЖЬ

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ РАЗЛИЧНЫЕ
    Контрагенты.Ссылка,
    Контрагенты.Наименование,
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    ЕСТЬNULL(БанковскиеСчета.НомерСчета, ""),
    Банки.Код,
    Банки.КоррСчет
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.БанковскиеСчета КАК БанковскиеСчета
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Банки КАК Банки
            ПО БанковскиеСчета.Банк = Банки.Ссылка
                И БанковскиеСчета.Банк = Банки.Ссылка
        ПО Контрагенты.Ссылка = БанковскиеСчета.Владелец
ГДЕ
    Контрагенты.ЭтоГруппа = ЛОЖЬ
    И Контрагенты.Родитель В ИЕРАРХИИ(&Родитель)
    И Контрагенты.ПометкаУдаления = ЛОЖЬ

УПОРЯДОЧИТЬ ПО
    КонтрНаименование
ИТОГИ ПО
    Ссылка
6 GROOVY
 
10.02.14
18:27
(3) Тогда можно просто ОБЪЕДИНИТЬ.
7 shuhard
 
10.02.14
18:28
(5) отменная трава
8 Ivan_495
 
10.02.14
18:29
(6) результат тот же
9 Ivan_495
 
10.02.14
18:30
нужно как в команде свернуть(
10 GROOVY
 
10.02.14
18:33
Ivan_495, так а чего не получается с группировкой?
11 Ivan_495
 
10.02.14
18:37
(10) есть таблица

номер строки|контрагент | адрес | банк
1            Иванов       Москва  
2            Иванов              Приопский банк

нужно чтобы было
1 ИВанов Москва Приопский банк
12 Wobland
 
10.02.14
18:38
(11) это называется соединение
13 shuhard
 
10.02.14
18:38
(12)  да лан
группировка + максимум даст то же
14 Wobland
 
10.02.14
18:39
(13) возражений не имею ;)
15 rphosts
 
10.02.14
18:40
(11) если строк будет больше 2, то по какому признаку отбирать? все возможные заполненные значения или как?
16 GROOVY
 
10.02.14
18:41
Я тоже за соединение.
17 Ivan_495
 
10.02.14
18:44
первые два поля одинаковые д.б. свернуты, затем идут 10 полей заполненых из первой таблицы ( они пустые во второй) д.б свернуты и три поля из второй таблицы ( они пусты в первой)
18 Wobland
 
10.02.14
18:45
(17) не хочешь одним запросом обойтись?
19 Ivan_495
 
10.02.14
18:45
Свернуть("ссылка,наименование,поле1,....поле14)
20 rphosts
 
10.02.14
18:47
(17) тогда группировка + максимум()
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший