|
перекрестная таблица для двух выбранных показателей.
|
|||
---|---|---|---|
#18+
Есть таблица первый столбец - цифр код скважины, остальные 8 - количество дефектов определенного рода (целое число). Пользователь выбирает два любых и нажимает кнопку "сделать". Подскажите как сделать вывод в курсор: вначале -количество скважин без дефектов по выбранным, за тем по очереди количество каждой комбинации количества дефектов. Пример таблицы KOD_SKV GERM KOMPL POLN KM UST FLAN SOST UPRAV 05.0 0 0 0 0 1 0 0 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2012, 11:21 |
|
перекрестная таблица для двух выбранных показателей.
|
|||
---|---|---|---|
#18+
Вместо того, чтобы заниматься непосредственно решением - вы начинаете искать средства для выхода из того угла, куда сами себя и загоняете Просто вы не уточнили, что эту таблицу придумали сами... СУБД - это не Офис. И не ЯП. Базу нужно сначала проектировать, а затем только реализовывать функционал. Вернее, так: структура проектируется, исходя из функционала решаемой задачи. Впрочем, о чём я... По идее, ваша база (на данном этапе) должна иметь три таблицы: - таблица Скважин, содержащая коды скважин и, например, их обозначение, наименование - таблица Дефектов, содержащая коды дефектов и, например, их обозначение, наименование - таблица ДефектовСкважин, которая будет содержать КодСкважины, КодДефекта, Значение(количество данных дефектов на данной сважине), Дату(на которую приведено значение) При такой структуре, ваши выборки решаются очень простыми запросами... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 02:52 |
|
перекрестная таблица для двух выбранных показателей.
|
|||
---|---|---|---|
#18+
Спасибо, Проблема что "умные люди" сделали так, таблица ужасна, а мое знание foxpro еще хуже. Буду переделывать)! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 17:58 |
|
перекрестная таблица для двух выбранных показателей.
|
|||
---|---|---|---|
#18+
zVINNYzСпасибо, Проблема что "умные люди" сделали так, таблица ужасна, а мое знание foxpro еще хуже. Буду переделывать)! Не спеши переделывать... Если это были на самом деле умные люди, то в один прекрасный момент может оказаться, что эта таблица - часть OLAP-системы... Тогда для нее допустима некоторая денормализация ради ускорения выборок на больших объемах данных... Надо сначала понять, что перед тобой: неверное проектирование OLTP-системы или OLAP- куб... Второй вариант решения проблемы (если таки я прав): можно формировать динамический запрос типа: Код: sql 1. 2. 3. 4.
и выполнять его, например, в цикле, сливая накопленные данные в курсор. На заполненном промежуточном курсоре уже и строить отчет... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2012, 14:44 |
|
перекрестная таблица для двух выбранных показателей.
|
|||
---|---|---|---|
#18+
Станислав С...кий, Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2012, 22:36 |
|
перекрестная таблица для двух выбранных показателей.
|
|||
---|---|---|---|
#18+
Дополню тогда. Если исходная таблица всё же денормализована со смыслом - то кто вам запрещает (тем более, что мы - в FoxPro), и, учитывая предыдущее мнение, - слить курсор, используя SELECT IIF() или SELECT ... UNION SELECT ... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2012, 23:08 |
|
|
start [/forum/topic.php?fid=41&gotonew=1&tid=1583235]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
12ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 188ms |
0 / 0 |