|
свернуть таблицу значений |
☑ |
0
13Дима13
15.06.14
✎
12:18
|
Есть таблица значений вида:
Физ.Лицо Вид1 Вид2 ... ВидN Колво1 Колво2 ... КолвоN
иванов А Б 5 1
иванов А В 4 2
Нужно свернуть эту таблицу и получить :
Физ.Лицо Вид1 Вид2 Вид3 ... ВидN Колво1 Колво2 Колво3 ... КолвоN
иванов А Б В 9 1 2
Подскажите, как проще это сделать
|
|
1
zak555
15.06.14
✎
12:20
|
тз.Свернуть("Физ.Лицо, Вид1, Вид2, ... ,ВидN" , "Колво1, Колво2, ... ,КолвоN");
|
|
2
13Дима13
15.06.14
✎
12:21
|
(1) и останется то же самое что и было
|
|
3
Zhuravlik
15.06.14
✎
12:22
|
В смысле с произвольным количеством полей? Обойти колонки в цикле, собрать две строчки. В первую - через запятую имена полей по которым сворачивать, во вторую - имена числовых полей.
типа :
стр1 = "Физ.Лицо, Вид1, Вид2, ... ,ВидN";
стр2 = "Колво1, Колво2, ... ,КолвоN";
Вот.
А потом тз.Свернуть(стр1, стр2);
|
|
4
shuhard
15.06.14
✎
12:22
|
(1) садись - кол
(0) форум должен догадаться, чем В лучше Б ?
|
|
5
13Дима13
15.06.14
✎
12:27
|
(4) ничем, просто разные значения поэтому нельзя по ним складывать колво. Нужно В перенести в вид3
|
|
6
shuhard
15.06.14
✎
12:29
|
(5) ничем,
тогда засунь ТЗ в запрос, сгруппируй по физ.лицу и возьми максимум по видам и сумму по чиселкам
|
|
7
13Дима13
15.06.14
✎
12:29
|
(3) просто тз.свернуть не пройдет, в колонке вид2 разные значения, в этом и проблема
|
|
8
13Дима13
15.06.14
✎
12:30
|
(6) тогда минимальный вид потеряется, его нужно сохранить и перенести в вид3
|
|
9
Zhuravlik
15.06.14
✎
12:31
|
(7) Значит сама таблица неверно формируется. Пересмотри поход к решению и наведи порядок в голове.
|
|
10
shuhard
15.06.14
✎
12:32
|
(8) ни о чем
либо В лучше Б, либо ничем
сядь на один стул или седалище порвётся (с)
|
|
11
dj_serega
15.06.14
✎
19:55
|
тут только перебирать строки нужно и заполнять новую ТЧ.
|
|
12
ДенисЧ
15.06.14
✎
20:00
|
Говорят, что тут бг-мерзкая СКД может помочь...
|
|