Имя: Пароль:
1C
1С v8
левое соединение с тем же количество записей
0 Stim
 
01.08.12
01:01
имею таблицу

Товар      Показатель
Молоток1      2
Топор         2

Соединяю её левым соединением с таблицей

Товар      Показатель2
Молоток1      3
Топор         4
Топор         5

получается таблица


Товар      Показатель   Показатель2
Молоток1      1           3
Топор         2           4
Топор         2           5


а как мне получить таблицу


Товар      Показатель   Показатель2
Молоток1      1           3
Топор         2           4
Топор         0           5

чтобы итоговые данные по показателям были равны итоговым исходным данным первоначальных таблиц ?
1 Stim
 
01.08.12
01:01
тьфу.

имею таблицу

Товар      Показатель
Молоток1      1
2 izekia
 
01.08.12
01:31
логики не вижу
3 izekia
 
01.08.12
01:32
Топор         0           5
это как получается?

правда пост (1) совсем ясности не добавляет
4 Stim
 
01.08.12
04:48
(3) это получается :

таблица1
левое сединение
таблица2
по теблица1.номенклатура = таблица2.номенклатура
5 izekia
 
01.08.12
04:53
(4) так не получится, как мне кажется
6 m-serg74
 
01.08.12
05:35
нет конечно если это одинаковые топоры и других полей соединения нет то сначала надо сгруппировать по этим полям
7 izekia
 
01.08.12
05:40
(6) а что бы топорам не быть одинаковыми?)
8 m-serg74
 
01.08.12
05:42
так и я к тому же а раз они одинаковые то все правильно и по другому и быть не может, но я лично такие вещи делаю через объединить а потом результат объединения сгруппировать
9 Rie
 
01.08.12
05:42
(0) Тебе нужно дополнительное ключевое поле. Так не взлетит.
10 Светлый Гений
 
01.08.12
05:44
(0)Тут только объединением получится сделать
11 m-serg74
 
01.08.12
05:46
и объединением именно то что он хотит не получится, у него тогда будет две строки с молотками и три с топорами, а ему нужно другое, судя по (0)
12 m-serg74
 
01.08.12
05:47
либо по одной строке на каждую номен, если потом сгруппировать
13 izekia
 
01.08.12
05:54
о, я понял что хочет автор, тут просто пронумеровать строчки и заджойнить по ним
14 m-serg74
 
01.08.12
06:24
пронумеровать строчки именно с одной номенклатурой типа
1-я табл.
1 Молоток
1 Топор
2 Топор
2 Молоток

2-я табл.
1 Молоток
1 Топор

тогда да) а вот ка это реализовать, лично я ХЗ)
15 izekia
 
01.08.12
06:26
16 izekia
 
01.08.12
06:31
что-то там какая-то лажа:
ВЫБРАТЬ Таб1.Товар, Таб1.Показатель, Количество(Таб2.Товар) КАК НомерСтроки ИЗ Таблица КАК Таб1 ЛЕВОЕ СОЕДИНЕНИЕ Таблица КАК Таб2 ПО Таб1.Товар >= Таб2.Товар
17 izekia
 
01.08.12
06:41
ВЫБРАТЬ
   ISNULL(Таб1.Товар, Таб2.Товар) КАК Товар,
   ISNULL(Таб1.Показатель, 0) КАК Показатель,
   ISNULL(Таб2.Показатель2, 0) КАК Показатель2
ИЗ
   (ВЫБРАТЬ Таб1.Товар, Таб1.Показатель, Количество(Таб2.Товар) КАК НомерСтроки
    ИЗ Таблица1 КАК Таб1 ЛЕВОЕ СОЕДИНЕНИЕ Таблица1 КАК Таб2 ПО Таб1.Товар >= Таб2.Товар
    СГРУППИРОВАТЬ ПО Таб1.Товар, Таб1.Показатель) КАК Таб1
   ВНЕШНЕЕ СОЕДИНЕНИЕ
      (ВЫБРАТЬ Таб1.Товар, Таб1.Показатель2, Количество(Таб2.Товар) КАК НомерСтроки
       ИЗ Таблица2 КАК Таб1 ЛЕВОЕ СОЕДИНЕНИЕ Таблица2 КАК Таб2 ПО Таб1.Товар >= Таб2.Товар
       СГРУППИРОВАТЬ ПО Таб1.Товар, Таб1.Показатель2) КАК Таб2
   ПО Таб1.Товар = Таб2.Товар И Таб1.НомерСтроки = Таб2.НомерСтроки
УПОРЯДОЧИТЬ ПО
   ISNULL(Таб1.Товар, Таб2.Товар),
   ISNULL(Таб1.Показатель, 0),
   ISNULL(Таб2.Показатель2, 0)
18 Stim
 
01.08.12
07:54
(17) а это не вернет мне 2 строки вместо требуемых 3 ?
19 izekia
 
01.08.12
07:56
ВНЕШНЕЕ СОЕДИНЕНИЕ
20 Stim
 
01.08.12
07:58
(19) ты спишь вообще, нет?)
спасибо, буду думать
21 izekia
 
01.08.12
07:59
(20) на работе иногда о том же спрашивают)
сегодня - нет)
22 Andrewww
 
01.08.12
08:02
(0) Соединить вторую таблицу с первой, а не наоборот.
23 Andrewww
 
01.08.12
08:02
Ой нет, не то написал...
24 izekia
 
01.08.12
08:03
(22) и Вам хорошего утра))
25 Andrewww
 
01.08.12
08:05
(24) у нас 15:00, голова спит после обеда :)
26 Rie
 
01.08.12
08:17
Всё тот же вопрос - откуда в (0) взяты таблицы? Явно не из вакуума сконденсировались, а являются выборками из каких-то физических таблиц. И в этих физических таблицах, IMHO, найдётся ключевое поле, которое позволит различить два топора. Вот его и надо включить в эти таблицы, а не городить огород - сначала убрали информацию, потом думаем, как её восстановить. IMHO.