powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / перекрестная таблица для двух выбранных показателей.
6 сообщений из 6, страница 1 из 1
перекрестная таблица для двух выбранных показателей.
    #38089501
zVINNYz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица первый столбец - цифр код скважины, остальные 8 - количество дефектов определенного рода (целое число).
Пользователь выбирает два любых и нажимает кнопку "сделать".
Подскажите как сделать вывод в курсор:
вначале -количество скважин без дефектов по выбранным, за тем по очереди количество каждой комбинации количества дефектов.

Пример таблицы
KOD_SKV GERM KOMPL POLN KM UST FLAN SOST UPRAV
05.0 0 0 0 0 1 0 0 1
...
Рейтинг: 0 / 0
перекрестная таблица для двух выбранных показателей.
    #38090104
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо того, чтобы заниматься непосредственно решением - вы начинаете искать средства для выхода из того угла, куда сами себя и загоняете Просто вы не уточнили, что эту таблицу придумали сами...

СУБД - это не Офис. И не ЯП. Базу нужно сначала проектировать, а затем только реализовывать функционал. Вернее, так: структура проектируется, исходя из функционала решаемой задачи. Впрочем, о чём я...

По идее, ваша база (на данном этапе) должна иметь три таблицы:
- таблица Скважин, содержащая коды скважин и, например, их обозначение, наименование
- таблица Дефектов, содержащая коды дефектов и, например, их обозначение, наименование
- таблица ДефектовСкважин, которая будет содержать КодСкважины, КодДефекта, Значение(количество данных дефектов на данной сважине), Дату(на которую приведено значение)
При такой структуре, ваши выборки решаются очень простыми запросами...
...
Рейтинг: 0 / 0
перекрестная таблица для двух выбранных показателей.
    #38091026
zVINNYz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, Проблема что "умные люди" сделали так, таблица ужасна, а мое знание foxpro еще хуже.
Буду переделывать)!
...
Рейтинг: 0 / 0
перекрестная таблица для двух выбранных показателей.
    #38093484
zVINNYzСпасибо, Проблема что "умные люди" сделали так, таблица ужасна, а мое знание foxpro еще хуже.
Буду переделывать)!

Не спеши переделывать... Если это были на самом деле умные люди, то в один прекрасный момент может оказаться, что эта таблица - часть OLAP-системы... Тогда для нее допустима некоторая денормализация ради ускорения выборок на больших объемах данных...
Надо сначала понять, что перед тобой: неверное проектирование OLTP-системы или OLAP- куб...

Второй вариант решения проблемы (если таки я прав): можно формировать динамический запрос типа:
Код: sql
1.
2.
3.
4.
select <поле группировки>, sum(<поле с количеством дефектов>) as cnt_defect 
from <таблица> 
where <условие отбора> 
group by <поле группировки>


и выполнять его, например, в цикле, сливая накопленные данные в курсор. На заполненном промежуточном курсоре уже и строить отчет...
...
Рейтинг: 0 / 0
перекрестная таблица для двух выбранных показателей.
    #38096719
zVINNYz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Станислав С...кий,

Спасибо.
...
Рейтинг: 0 / 0
перекрестная таблица для двух выбранных показателей.
    #38096740
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополню тогда.
Если исходная таблица всё же денормализована со смыслом - то кто вам запрещает (тем более, что мы - в FoxPro), и, учитывая предыдущее мнение, - слить курсор, используя SELECT IIF() или SELECT ... UNION SELECT ...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / перекрестная таблица для двух выбранных показателей.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]