Имя: Пароль:
1C
1С v8
Задачка на логику (в запросе)
,
0 Tedman
 
22.11.12
11:18
Добрый день. Попалась тут задачка, с которой сижу ломаю голову. Решил поделиться, может кто сможет подсказать...
Если в упрощенном варианте:
Дано: 8.2. Выполнить задачу необходимо в !!запросе!!
Есть две таблицы: первая А1; Б1 ; вторая: А2;Б2.
Соединение между таблицами полное. Т.е. на данный момент при выполнении запроса получаем строки:
А1   Б1   Null   Null
Null Null  А2     Б2

Вопрос, как (извините, повторюсь: в пределах запроса) получить выход вида:
А1   Б1   А2   Null
А1   Null А2   Б2

Какие мысли? =)
1 programmer1c_
63
 
22.11.12
11:22
максимальные значения - А1, А2, сгруппировать по Б1, Б2
2 Tedman
 
22.11.12
11:25
(1) Получается
Null   Null  А2   Б2
А1      Б1      Null Null

Кстати... запрос, которым проверяю (и меняю):

ВЫБРАТЬ
   "А1" КАК Поле1,
   "Б1" КАК Поле2
ПОМЕСТИТЬ Таб1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   "А1" КАК Поле1,
   "Б2" КАК Поле2
ПОМЕСТИТЬ Таб2
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   МАКСИМУМ(Таб1.Поле1) КАК Поле1,
   Таб1.Поле2,
   МАКСИМУМ(Таб2.Поле1) КАК Поле11,
   Таб2.Поле2 КАК Поле21
ИЗ
   Таб1 КАК Таб1
       ПОЛНОЕ СОЕДИНЕНИЕ Таб2 КАК Таб2
       ПО Таб1.Поле1 = Таб2.Поле1
           И Таб1.Поле2 = Таб2.Поле2

СГРУППИРОВАТЬ ПО
   Таб1.Поле2,
   Таб2.Поле2
3 wylde
 
22.11.12
11:29
4 Reset
 
22.11.12
11:32
Или я торможу, или задача на логику в том, чтобы понять, в чем, собственно, задача?
5 Irek-kazan
 
22.11.12
11:36
а если не две строки, а N и М что должно получится? вообще не понятно, что ТС хочет получить
6 Mickeleangelo
 
22.11.12
11:38
левое соединение
объединить
правое соединение
7 Reset
 
22.11.12
11:38
Повтыкал 5 минут в (0), так и не понял, о чем там.
Условия задачи не описаны, но приведены какие- примеры. Не осилил :(
8 Кремень
 
22.11.12
11:40
а че надо чтоб все значения из таблицы "А" были, а в таблице были реальные значения? надо тогда надо наверно таблицу "А" перед этим переделать, чтобы по каждой записи получить последнее Не нулевое значение, а потом уже соединить с таблицей "Б"
9 Irek-kazan
 
22.11.12
11:41
ТС ушел думать, зачем ему такая таблица
10 Tedman
 
22.11.12
11:55
(3) Немного не то. У них задача была (грубо) объединить две строки в одну, а у меня как раз надо получить именно две строки.

Я пытаюсь наглядно сформулировать задачу. ))) На примере. Сейчас сформулирую - напишу.
11 Irek-kazan
 
22.11.12
12:29
Давай даже интересно стало. Наглядно не надо, нужен физический смысл
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс