|
|
Соединение таблиц |
☑ |
|
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
) КАК Т
УПОРЯДОЧИТЬ ПО
Т.Индекс
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший