|
Как запросом разделить одну большую таблицу | ☑ | ||
---|---|---|---|---|
0
Trotter
21.09.16
✎
12:52
|
Как запросом разделить одну большую таблицу на несколько маленьких, а потом их склеить ?
Дано: id Товар код a Товар1 1 a Товар2 2 b Товар1 1 b Товар2 2 c Товар1 1 c Товар2 2 Нужно id Товар Код id Товар Код id Товар Код a Товар1 1 b Товар1 1 с Товар1 1 a Товар2 2 b Товар2 2 с Товар2 2 |
|||
1
DrShad
21.09.16
✎
12:54
|
никак
|
|||
2
leonidk
21.09.16
✎
12:55
|
Если количество ID ( маленьких таблиц) известно то можно. Иначе только программное составление запроса.
|
|||
3
DrZombi
гуру
21.09.16
✎
12:56
|
(0) Группировка по колонкам
Вы может про СКД? :) |
|||
4
Trotter
21.09.16
✎
12:57
|
(3) не СКД ) нужно выбрать так вот данные, а потом сравнить на не соответствие в колонках
|
|||
5
Vladal
21.09.16
✎
12:57
|
Была давно тема, как разделить номенклатуру в две колонки в запросе.
Посмотри http://catalog.mista.ru/public/100854/ Там и на СКД и без СКД. |
|||
6
gitotuta
21.09.16
✎
12:58
|
Это склейка по номеру строки
|
|||
7
DrZombi
гуру
21.09.16
✎
13:01
|
(4) Напиши СКД. Потом выгрузишь результат в ТЗ :)
|
|||
8
PiterPrg
21.09.16
✎
13:04
|
(2) Разумеется программное.
А иначе как? Колонок в запросе = 3 * количество различных ID Ну или (7) - прекрасный вариант |
|||
9
leonidk
21.09.16
✎
13:07
|
(8) Ну мало ли, может быть у автора вариантов id 3.
Итого 3 виртуальные таблицы соединить в запросе и готово. |
|||
10
Trotter
21.09.16
✎
13:10
|
(9) Пример можно ?)
|
|||
11
Очевидно
21.09.16
✎
13:15
|
(10) это всё "Велосипедные решения"- Если количество id - значение переменное. Если их всегда 3 тогда прокатит ... (Запрос не умеет создавать новые поля/колонки исходя из расчетных значений. Все поля/колонки должны быть прописаны в запросе).
|
|||
12
ovrfox
21.09.16
✎
13:32
|
К-во таблиц:
Выбрать Различные ID Поместить ВсеИД ИЗ Таблица; --К-во пар Выбрать а.ID как ИДЛев, b.ID ИДПрав поместить пары ИЗ ВсеИД а, ВсеИД в; Выбрать ИДЛев, ИДПрав, ...рез сравнения... ИЗ Пары Соединить Таблица Лев По ИДЛев = Лев.ID Соединить Таблица Прав По ИДПрав = Прав.ID Где Лев.Товар = Прав.Товар |
|||
13
VladZ
21.09.16
✎
13:37
|
(0) Зачем?
|
|||
14
iceman2112
21.09.16
✎
13:41
|
(13) Пишет сравнить нужно id чтоли. Не ясно чем ему группировка по товару или код не устраивает. Потом обходи - сравнивай
|
|||
15
leonidk
21.09.16
✎
13:50
|
(10) Наверно как то так
ВЫБРАТЬ Товары.ИД, Товары.Товар, Товары.Код ПОМЕСТИТЬ ИД1 ИЗ Справочник.Товары КАК Товары ГДЕ Товары.ИД = &ИД1 ////////////////////////////////////////////////// ВЫБРАТЬ Товары.ИД, Товары.Товар, Товары.Код ПОМЕСТИТЬ ИД2 ИЗ Справочник.Товары КАК Товары ГДЕ Товары.ИД = &ИД2 ////////////////////////////////////////////////// ВЫБРАТЬ .... //////////////////////////// ВЫБРАТЬ ИД1.ИД, ИД1.Товар, ИД1.Код, ИД2.ИД КАК ИД2, ИД2.Товар КАК Товар2, ИД2.Код КАК Код2, .... ИЗ ИД1 КАК ИД1 ПОЛНОЕ СОЕДИНЕНИЕ ИД2 КАК ИД2 ПО ИД1.Код = ИД2.Код ПОЛНОЕ СОЕДИНЕНИЕ ИД3 КАК ИД3 ПО ИД1.Код = ИД3.Код С соединениями/групировками поиграться для получения наилучшего результата |
|||
16
Trotter
21.09.16
✎
14:17
|
спасибо всё получилось как нужно )
|
|||
17
Trotter
21.09.16
✎
14:18
|
(15) спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |