Имя: Пароль:
1C
 
Соединение таблиц
0 Lite777888
 
naïve
24.06.26
14:53
Здравствуйте , дано -таб1 и таб2 -списки складов с индексами ,нужно получить таб3 где вверху таб3 все склады из таб1  а далее (внизу) все склады из таб2 кроме тех котрые есть в таб1, см картину https://cloud.mail.ru/public/EGkv/AaZNse7Rr     , проблема- не могу применить УПОРЯДОЧИТЬ по ИНДЕКС, ПРИ ВЫБОРЕ РАЗЛИЧНЫХ , тоесть нужно включать в выборку поле индекс тогда ВЫБРАТЬ РАЗЛИЧНЫЕ теряет смысл ,ну и пробовал ОБЪЕДИНИТЬ ( тут идут повторы за счет индексов ) , индексы ввел чтобы вытащить данные из таб1 вверх .
1 Pprog151713
 
24.06.26
14:59
Левое соединение таб1. И сортировка потом по подставленному из таб1.
2 vicof
 
24.06.26
14:59
Вводи индексы после объединения
3 Мультук
 
гуру
24.06.26
15:16
(0)

Проблема в том, что твоего текста запроса нет.
А свой писать -- тут всем лень
4 Lite777888
 
naïve
24.06.26
15:17
(1) При левом потеряем данные одной из таблиц.
5 Мультук
 
гуру
24.06.26
15:22
Я так понимаю, в таб1 и таб2 склады уже уникальны


ВЫБРАТЬ 
  0 КАК Приоритет,
  т1.Индекс,
  т1.Склад
ИЗ
  таб1 как т1

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

ВЫБРАТЬ 
  1,
  т2.Индекс,
  т2.Склад
ИЗ
  таб2 как т2
ГДЕ
  Т2.Склад не в (ВЫБРАТЬ СКЛАД Из Таб1)

УПОРЯДОЧИТЬ ПО Приоритет, Индекс




P.S.
Вместо "не В" можно "ЛЕВОЕ СОЕДИНЕНИЕ"
6 patapum
 
24.06.26
15:25
ВЫБРАТЬ
ISNULL(Таб1.Склад, Таб2.Склад)
ИЗ Таб1
ПОЛНОЕ СОЕДИНЕНИЕ Таб2 По Таб1.Склад = Таб2.Склад
УПРОРЯДОЧИТЬ ПО ISNULL(Таб1.Индекс, Таб2.Индекс)
7 Lite777888
 
naïve
24.06.26
15:36
(5) Должно работать вроде , (6) -красиво ,вроде тоже должно работать ,спасибо проверю.
8 Мультук
 
гуру
24.06.26
15:41
(6)

>>вверху таб3 все склады из таб1,
>> а далее (внизу) все склады из таб2

Допустим, в таб1 индекс 101, 102, 103
А в таб2 как назло 11, 12, 13
9 maxab72
 
24.06.26
15:54
(8) добавь еще номер таблицы, для первой 1, для второй 13. и индексируй по двум полям
10 Lite777888
 
naïve
24.06.26
15:56
(8) Индекс кинул руками типа 100 как индекс в таб1 , и 99 как индекс в таб2 ,чтобы разделить эти две таблицы вверх / вниз
11 АгентБезопасной Нацио
 
24.06.26
16:29
(10) Ну и добавляй свой "индекс" уже при выборке.
ВЫБРАТЬ
Т.Склад
ИЗ
(
ВЫБРАТЬ Различные
Таб1.Склад КАК Склад,
1 КАК Индекс
ИЗ Таб1 КАК Таб1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ Различные
Таб2.Склад КАК Склад,
2 КАК Индекс
ИЗ Таб2 КАК Таб2
ЛЕВОЕ СОЕДИНЕНИЕ Таб1 КАК Таб1
ПО Таб1.Склад = Таб2.Склад
ГДЕ Таб2.Склад Есть NULL
) КАК Т
УПОРЯДОЧИТЬ ПО
Т.Индекс
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.