|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Dima T, вот в той теме было то что мне надо сделать тоже В той теме решали обратную задачу. Там изначально есть нормализованная таблица из тех полей: Предмет, Ученик, Кол-во пропусков (если применительно к данному примеру). А из этой надо было построить сводную (если в терминах экселя выражаться). У тебя есть исходная таблица откуда эти 12 взялись? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 20:02 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, исходная таблица как в той же только с другими полями, данными, а 12 потому что за каждый месяц один такой сводный будет создаваться как в том примере, а затем нужно все 12 сложить и получить годовой отчет. Я недели три пробовала решить первую часть но потом отложила, а теперь как там попробовала получилось. но вот сложение не знаю как делать в таких таблицах ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 20:09 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94, есть вообще какой-то способ решить мою задачку? Если 255 только увидеть можно, то хотя бы разделить на две части. или если возможно то выделить ту часть где есть только цифры (т.е. начиная со второго столбца и выкинув первые три строки всех полей) вычислить все сумму всех 12-ти, а потом обратно подставить. Если конечно такое можно сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 20:18 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Dima T, исходная таблица как в той же только с другими полями, данными, а 12 потому что за каждый месяц один такой сводный будет создаваться как в том примере, а затем нужно все 12 сложить и получить годовой отчет. Я недели три пробовала решить первую часть но потом отложила, а теперь как там попробовала получилось. но вот сложение не знаю как делать в таких таблицах Надо вместо месяца указать период год, остальное все точно также. И не надо пытаться решить в два шага, это гораздо сложнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 20:21 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94sg12, не могли бы вы для 3-4 таблиц показать пример? Огорчу вас. Таблицы в базах данных имеют другую структуру. Наглядность в них достигается другим, программным путем. Ваша база данных известена как учебный пример "Преподаватели и студенты", или наз. что-то похожее. Вам надо найти несколько готовых решений и изучить их. Вообще-то неплохая вещь, затраченное время окупится. В них задачи типа вашей решаются одним несложным запросом. К примеру. Даже необходимости разбивать на 12 месяцев нет. Слейте их в одну таблицу, уберите "шапки", переделайте поля в числовые и ваш запрос упростится. При необходимости нужный месяц вы сможете наглядно просматривать через фильтр. Да и от этих 277 полей нужно избавляться, создав таблицу со списком фамилий. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 20:30 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, у меня 12 разных таблиц :( это все не в одной таблице же ведь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 20:31 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
А как сложить просто такие поля: tab1.fil1, tab2.fil1,tab3.fil1, если все поля числовые? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 20:34 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Можно ли сделать так? : пример с того запроса взяла чтобы вам показать: тут в 12 курсоров вывести нужные поля из 12-ти полей Код: sql 1. 2.
Тут подсчитать количество для 12 таблиц Код: sql 1. 2.
Затем просуммировать все 12 таблиц, а именно поле mark. и подставить этот курсор вот сюда: Код: sql 1. 2. 3. 4. 5.
Так правильно ли будет логически вообще? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 20:53 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
только я не поняла как сделать этот Код: sql 1.
для 12 таблиц вернее как их объединить потом один курсор ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 21:37 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Как эти курсоры объединить в один чтобы из таблиц не пропали значения и чтобы в результате получился курсор CUR в котором два поля code И lpu co всеми code и lpu из всех 4 таблиц? Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 22:02 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94 Правильно будет в базе данных создать четыре таблицы примерно с такими с полями: Группы (классы) - idTab,cName Студенты (ученики) - idTab,idGroup,cName Предметы - idTab,cName Посещаемость - idTab,nMonth,idPredmet,idStudent,nExclud Первые три таблицы - это справочники. Детали - индексы, связи, фильтры, запросы вам подскажут, разберетесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 22:30 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94 , Зачем что-то создавать из кросса? Как уже было сказано - покажите пример таблиц-исходников, на основе которого вы получили свои table1...tableX. Поскольку вот прямо из этого исходника всё и считается... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 22:54 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Как эти курсоры объединить в один чтобы из таблиц не пропали значения и чтобы в результате получился курсор CUR в котором два поля code И lpu co всеми code и lpu из всех 4 таблиц? Можно Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 06:53 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, извините можно узнать? этим кодом поля lpu и code объединили вы? или что сделали ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 07:12 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, потому что lpu же у него это номер ЛПУ оно как бы не должно меняться также как и код, а я этот код запускаю ЛПУ с номером 1 вообще нету теперь ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 07:14 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Прежде чем оптимизировать на SQL, попробуйте всё это сделать в цикле... Например select t1 go top select t2 go top select t3 go top *создать структуру таблицы для хранения результатов select * from tab1 where .F. into cursor cc1 do while .T. append blank cc1.fil1= tab1.fil1+ tab2.fil1+tab3.fil1 && тут можно сделать перевод в строку каждого fil select t1 skip select t2 skip select t3 skip if eof("t1") or eof("t2") or eof("t3") exit endif enddo Это примерно или я не понял условие задачи.... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 07:15 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Dima T, потому что lpu же у него это номер ЛПУ оно как бы не должно меняться также как и код, а я этот код запускаю ЛПУ с номером 1 вообще нету теперь этот запрос объединяет данные из таблиц pac_foms_issleds1, pac_foms_issleds2, pac_foms_issleds3, pac_foms_issleds4 в один курсор curData ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 07:33 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Следующий шаг Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 07:42 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, после группировки потом будет как мне надо то есть? в первом столбике code, а во втором lpu ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 07:53 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
q1w1e1, условие задачи такое что нужно сложить поля st1,st2...st200 пропустив во всех 12-ти таблицах первые три строчки так как там слова(символы), а в последующих строках цифры которые надо сложить ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 07:55 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94, автору меня 277 столбцов и 180 строк. я считаю это отрыжкой екселя как вы можете гарантировать, что в столбце 89 будет Иванов, а в 189-Петров во всех 12 таблицах за год, даже в школах есть движение учеников(приход/уход/перекомплектование ) в классах/группах есть однофамильцы оптимально таблица(вернее 2 таб) таб1 ид1годмесяцденькласспредмет12013030610аматематика2345 таб2 ид2ид1фио11Иванов21Петров а ваши простыни получать запросами --по классу --по предмету --по периоду/предмету .................. а ваши эксель простыни перегнать в таблички не проблема ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:04 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, я сделала как вы говорите и у меня в курсоре cc есть три поля теперь code,lpu и mar. Есть ЛПУ с номером 1 в таблицах pac_foms_issleds1, но в курсоре CC в поле lpu 1 нигде нету. Как это понять? ( Я хотела так чтобы было: все 4 таблицы объединить так чтобы все поля code из всех таблиц оказались в поле code, а напротив в поле lpu номер lpu, для которого это поле code соответствует? В вашем коде так делается? Я это не поняла ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:04 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, мне именно так сказали делать, потому что первые три строчки будут шапкой и после всего окончательный вариант отчет за год будет выведен в эксель ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:06 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Dima T, я сделала как вы говорите и у меня в курсоре cc есть три поля теперь code,lpu и mar. Есть ЛПУ с номером 1 в таблицах pac_foms_issleds1, но в курсоре CC в поле lpu 1 нигде нету. Как это понять? ( значит для lpu 1 в pac_foms_issleds1 excluded=.T. нет других причин не попасть в curData, а из него в CC Код: sql 1. 2. 3. 4. 5.
это запрос берет все записи из pac_foms_issleds1 где excluded=.f. добавляет все записи из pac_foms_issleds2 где excluded=.f. добавляет все записи из pac_foms_issleds3 где excluded=.f. добавляет все записи из pac_foms_issleds4 где excluded=.f. и сохраняет результат в курсор curData больше никаких вычислений/преобразований он не делает ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:11 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, Да, запрос делает так, но я сейчас оставила для примера по 5 записей во всех таблицах и применила ваш код, у меня получилось в поле code 5 значений в lpu 5 и в mark 5, хотя во всех таблицах по 5 значений и вроде должно быть 20 значений. так как одна строчка из pac_foms_issleds1 это одна медо.бследование. Вот как мне сделать чтобы все 20 появились ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:15 |
|
|
start [/forum/moderation_log.php?user_name=CherkasSM]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 691ms |
total: | 869ms |
0 / 0 |