|
Одну строку в запросе разбить на несколько строк |
☑ |
0
EvgeniuXP
27.10.13
✎
01:04
|
Как разбить одну строку на несколько строк в запросе, например:
Исходная таблица:
Товар Количество
А 3
Б 2
Получаем:
Товар Количество
А 1
А 1
А 1
Б 1
Б 1
|
|
1
EvgeniuXP
27.10.13
✎
01:04
|
Количество может быть разным.
|
|
2
EvgeniuXP
27.10.13
✎
01:19
|
ладно, похоже нормально не сделать, только через: v8: Остатки по дням.
|
|
3
EvgeniuXP
27.10.13
✎
01:20
|
(2) пост (10) - формирование чисел в запросе.
|
|
4
DirecTwiX
27.10.13
✎
01:30
|
(3) А дальше как?
|
|
5
DirecTwiX
27.10.13
✎
01:33
|
(4) Вопрос снят.
|
|
6
runoff_runoff
27.10.13
✎
03:03
|
надо требовать от Нуралиева в запросе оператор UPDATE..
|
|
7
МихаилМ
27.10.13
✎
12:57
|
|
|
8
sda553
27.10.13
✎
13:01
|
Создать табличку, где буду все натуральные числа до разумного предела, и присоединять
|
|
9
EvgeniuXP
27.10.13
✎
15:20
|
(8) а не до разумного предусмотреть другие обходы :) и всё пучком :)
|
|
10
Dethmont
27.10.13
✎
22:25
|
ВЫБРАТЬ
0 КАК Х
ПОМЕСТИТЬ Таб1
ОБЪЕДИНИТЬ
ВЫБРАТЬ
1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
М.Х + 2 * С.Х КАК Х
ПОМЕСТИТЬ Таб2
ИЗ
Таб1 КАК М,
Таб1 КАК С
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
М.Х + 4 * С.Х КАК Х
ПОМЕСТИТЬ Таб3
ИЗ
Таб2 КАК М,
Таб2 КАК С
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
М.Х + 16 * С.Х КАК Х
ПОМЕСТИТЬ Таб4
ИЗ
Таб3 КАК М,
Таб3 КАК С
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
М.Х + 256 * С.Х КАК Х
ПОМЕСТИТЬ РезТаб
ИЗ
Таб4 КАК М,
Таб4 КАК С
ГДЕ
М.Х + 256 * С.Х > 0
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
РегистрСведений1.Измерение1 КАК Измерение1,
1 КАК Поле1
ИЗ
РезТаб КАК РезТаб
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегистрСведений1 КАК РегистрСведений1
ПО РезТаб.Х < РегистрСведений1.Ресурс1
ГДЕ
НЕ РегистрСведений1.Измерение1 ЕСТЬ NULL
УПОРЯДОЧИТЬ ПО
Измерение1
|
|
11
Dethmont
27.10.13
✎
22:27
|
Регистр сведений: РегистрСведений1
Измерения: Измерение1 - тип строка
Ресурсы: Ресурс1 - тип число
Данные в регистре
А 2
В 3
Результат
А 1
А 1
В 1
В 1
В 1
|
|
12
Dethmont
27.10.13
✎
22:29
|
Будет работать неправильно если одно из значений ресурса будет больше 65535
|
|
13
mikecool
27.10.13
✎
23:06
|
может чота типа
выбрать а как а, 2 как б
из твоя таблица
левое соединение
(выбрать а как а, 1 как поле) по а И количество(поле) <= б
?
|
|