|
Соединение таблиц | ☑ | ||
|---|---|---|---|---|
|
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 ) КАК Т УПОРЯДОЧИТЬ ПО Т.Индекс |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |