|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Всем приветик. Есть 12 таблиц с одинаковыми полями типа так: ID (содержит названия предметов), st1,st2,st3.... st200 (имена учеников) а на пересечении пропуски. Как сложить все пропуски в такой таблице. Пример таблицы на картинке показан. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 15:46 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Никто не знает да? :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:12 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Никто не знает да? :-( Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:16 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
PaulWist, ну так мне же не в одной таблице надо, а каждое соответствующее поле сложить в 12-ти таблицах. Для примера можно в трех показать дальше я сама ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:17 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
PaulWist, поле st1 таблицы tab1 с полем st2 таблицы tab2 и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:18 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94PaulWist, поле st1 таблицы tab1 с полем st2 таблицы tab2 и т.д. CREATE CURSOR t1 (f1 int) CREATE CURSOR t2 (f2 int) INSERT INTO t1 values(1) INSERT INTO t2 values(2) SELECT SUM(s) as s FROM ; (select SUM(f1) as s FROM t1; union all; select SUM(f2) as s FROM t2; ) bb ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:24 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
PaulWist, Это ведь легче вручную считать чем так вводить, у меня 277 столбцов и 180 строк. Можно сделать такое: Пропускать во всех таблицах первую строку, и первый столбец, остальное через VAL() преобразовывать в числовые и складывать? Если да, то как? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:27 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94, авторполе st1 таблицы tab1 с полем st2 таблицы tab2 и т.д. может поле st1 таблицы tab1 с полем st1 таблицы tab2 . поле st2 таблицы tab1 с полем st2 таблицы tab2 .................... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:31 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94, автору меня 277 столбцов и 180 строк. вы бы лучше базу выложили, а то не понять что с чем складывать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:33 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, Да да да, извините за ошибку, просто весь день мучаюсь голова кругом ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:33 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94... у меня 277 столбцов и 180 строк. Где ж Вы столько предметов взяли? Бедные ученики... Я бы тоже пропускал. А теперь серьезно: как называются таблицы, т.е. как-то одинаково (t1, t2, ... ) или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:39 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Jonny540, таблицы, почти одинаково table1,table2... и т.д. 12 таблиц ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:42 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Jonny540, таблицы, почти одинаково table1,table2... и т.д. 12 таблицНазвания полей одинаковы во всех таблицах? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:45 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Jonny540, Да, абсолютно одинаковы ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:45 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94 у меня 277 столбцов Это точно таблицы фокса? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 16:59 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Jonny540, да, таблицы в формате DBF ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 17:57 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94PaulWist, Это ведь легче вручную считать чем так вводить, у меня 277 столбцов и 180 строк. Можно сделать такое: Пропускать во всех таблицах первую строку, и первый столбец, остальное через VAL() преобразовывать в числовые и складывать? Если да, то как? Не лишнее пояснение для любителей SUM(). Чем вызвана такая странная необходимость в такой первой строке? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 18:10 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
sg12, там фамилии учеников будут подряд. Поэтому ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 18:15 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94sg12, там фамилии учеников будут подряд. Поэтому В базах данных обычно фамилии выводят в отдельную таблицу, а числовой учет ведется в числовых полях. А у вас это строка как шапка, необходимости в ней нет. Насколько можно вас понять, вы dbf-таблицы просто используете для наглядности, примерно как в EXCEL? Цикл по таблицам в вашем случае можно организовать примерно так: lcTable = 'table1,table2, ...,table12' && Список таблиц FOR i = 1 TO GETWORDCOUNT(lcTable,',') lcTab = GETWORDNUM(lcTable,i,',') && Очередная таблица ... ENDFOR ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 18:45 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
sg12, да, для наглядности, но там таких несколько строк, которые являются шапками. Ученик, Класс, Учитель. Это строки которые будут друг под другом. полную версию придется привести. Вот ниже на картинке. Примерные поля. возможно еще одно поле добавится в виде шапки к полям, но пока что для таких таблиц хотелось бы понять как суммировать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 18:52 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
sg12, не могли бы вы для 3-4 таблиц показать пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 18:54 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94у меня 277 столбцов и 180 строк. Системные ограничения FoxPro - не более 254 (255) полей (столбцов). Это значит, что в FoxPro Вашу задачу простыми средствами не решить. Даже если Вы сможете открыть эту таблицу в FoxPro Вы ни при каких условиях не сможете увидеть более 254 (255) полей. Тот факт, что таблица имеет расширение DBF ни о чем не говорит. Форматов файлов DBF - "вагон и маленькая тележка". Какой именно это формат можно посмотреть по значению самого первого (нулевого) байта таблицы В приведенной ниже таблице перечислены те значения нулевого (первого по порядку) байта DBF-таблицы с которыми FoxPro может работать напрямую без дополнительных драйверов и преобразований Байт Тип таблицы DBF0x02FoxBASE: 0x03 FoxBASE+/Dbase III plus no memo: 0x30Visual FoxPro: 0x31Visual FoxPro autoincrement enabled: 0x32Visual FoxPro Varchar Varbinary or Blob-enabled: 0x43dBASE IV SQL table files no memo: 0x63dBASE IV SQL system files no memo: 0x83FoxBASE+/dBASE III PLUS with memo: 0x8BdBASE IV with memo: 0xCBdBASE IV SQL table files with memo: 0xF5FoxPro 2.x (or earlier) with memo: 0xFBFoxBASE Если Ваши DBF-таблицы имеют значение нулевого байта отличное от указанного в этой таблицы, то лучше Вам использовать Excel для суммирования. Тем более Вы крайне невнятно описали постановку задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 19:37 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Это ведь легче вручную считать чем так вводить, у меня 277 столбцов и 180 строк. Так это не таблицы, а какие-то листы экселя. Подозреваю что из экселя они и появились. Может экселем и обсчитать если это разово надо? Так быстрее всего будет. По-хорошему надо сначала таблицы нормализовать, т.е. свести все к одной таблице: Предмет, Ученик, Кол-во пропусков. а потом уже считать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 19:37 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, нет, это не экзелем посчитано, на днях обсуждалась тема кто-то тут писал создание подобной таблицы, я скопировала этот код и для своего примера поля и таблицы переделала. Сейчас я дам вам ссылку на этот паблик вот кстати, и сегодня было обсуждение этой темы: http://www.sql.ru/forum/actualthread.aspx?tid=1008720 . Вот я получила такую же таблицу но у меня таких 12. И нужно сложить их всех. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 19:49 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, вот в той теме было то что мне надо сделать тоже, но мне еще нужно и сложить такие таблицы которых 12 штук. И это надо не разово, а каждый год чтобы делалось ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 19:52 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#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 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94, Ой, извините. Этот код и правда выводит 20 записей. Код: sql 1. 2. 3. 4. 5.
А зачем мне тогда этот кусок. Он вроде мне не нужен. Из куска где union all получаем все значения code и соответсвтвующие значения lpu, и дальше можно как в том примере обратно создать кросс-таблицу. Или я что-то пропустила? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:20 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Dima T, Да, запрос делает так, но я сейчас оставила для примера по 5 записей во всех таблицах и применила ваш код, у меня получилось в поле code 5 значений в lpu 5 и в mark 5, хотя во всех таблицах по 5 значений и вроде должно быть 20 значений. так как одна строчка из pac_foms_issleds1 это одна медо.бследование. Вот как мне сделать чтобы все 20 появились 20 в curData это запрос с группировкой по code, lpu Код: sql 1.
в СС столько строк сколько уникальных пар значений code, lpu, а в поле mark сколько раз значение повторилось. Т.е. если в СС сложить все поля mark будет 20 Ты писала что pac_foms_issleds1 это исходные данные за месяц и получить по ним конечный отчет за месяц получилось? Так? Если так, то curData тоже самое что pac_foms_issleds1 только с данными за 4 месяца. Делай дальше все точно также как делала с pac_foms_issleds1 и получишь отчет за 4 месяца ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:27 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94А зачем мне тогда этот кусок. Он вроде мне не нужен. Код: sql 1.
хз зачем он тебе. Ты тут его писала , я скопировал. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:29 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, А, я поняла. Сначала за 4 месяца берем все заносим в CurData, затем тут Код: sql 1.
получается считаем количество как в том примере только для 4-х месяцев. Я просто запуталась немножко. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:33 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94ПЕНСИОНЕРКА, мне именно так сказали делать, потому что первые три строчки будут шапкой и после всего окончательный вариант отчет за год будет выведен в эксель в любом случае --я делала бы по схеме --перегнала 12 таблиц в 2 таблицы --получила нужные итоги --вывела их в ексель(кстати ---сколько получится страниц в ширину , похоже около 30) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:37 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, Вот я тоже хочу перегнать все 12 только в 1, где есть code и lpu поля из всех 12-ти таблиц. А потом как в том примере создать кросс-таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:39 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Dima T, А, я поняла. Сначала за 4 месяца берем все заносим в CurData, затем тут получается считаем количество как в том примере только для 4-х месяцев. Все верно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:46 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94, при применении аксесс -2таб, в этом случае легче вводить первичную информацию у вас же информация уже введена, поэтому можно использовать только ексель с одной таблицей, на которую повесить сводную хотя надо гарантировать , что нет однофамильцев ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:48 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Dima T, У меня последний вопрос: Если с помощью union all и потом группировкой занести данные за 12 или 4 месяца в курсоры, то ничего же не нужно мне складывать потом? Я получаю в курсорах информацию за тот период сколько раз использовала этот кусок? И потом спокойно могу создать кросс табличку как там? Просто не хочу сейчас что-то пропустить или напутать( Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:52 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5.
А зачем мне тогда этот кусок. Он вроде мне не нужен. Из куска где union all получаем все значения code и соответсвтвующие значения lpu, и дальше можно как в том примере обратно создать кросс-таблицу. Или я что-то пропустила? Код: sql 1.
Я, случайно посмотрев на попытку пришедшего к нам человека, попытался помочь Ичкерии... И тут же нарисовались студенты, которые хотять иже... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:54 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
AndreTM, я сначала хочу разобрать пример который разбирали там, а потом под свои таблицы переделать. Лучше сначала понять, а потом свое сделать уже что-то понимая в этом. Так что сначала прочитала тот пост. Потому что задачка такая же только еще надо было это все из 12-ти таблиц посчитать ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:59 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Dima T, У меня последний вопрос: Если с помощью union all и потом группировкой занести данные за 12 или 4 месяца в курсоры, с помощью union all объединяются данные из 12 (или 4) таблиц в один курсор. 94то ничего же не нужно мне складывать потом? не нужно, т.к. все уже в одном курсоре. После union all таблицы pac_foms_issleds1, pac_foms_issleds2 и т.д. больше не нужны, т.к. дальше работа идет только с курсором. По курсору строится кросс табличка. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:01 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94, я не уверена, что вам подходит union all у вас может быть разное количество столбцов в таблицах ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:03 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Повторить? UNION нужен только тогда, когда ТС понимает смысл объединения. Исходя же из постов - не понимает... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:08 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
AndreTM, union не я же написала, мне тут написали, что можно так сделать. Если не подходит union, то какой способ лучше? Сама плохо понимаю, поэтому обратилась за помощью, когда тут увидела похожую тему, такую же как и мне нужно сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:14 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94 И как вы собираетесь работать с этими за 200 полями, да еще с фамилиями. У вас же отчеты будут уходить за горизонт. Вы напрасно ориентируетесь на пример с ЛПУ. Это отчет, неумело составленный таким же новичком, как вы. Такова сложившиеся специфика в медучреждениях с досовских времен - разворачивать отчеты по горизонтали. У вас же хорошо известная учебная база данных. Вы имеете дело с собственно данными, но составляете список фамилий в полях. Отсюда у вас и такая громадная таблица, как только вы умудряетесь с ней работать. Необходимости в таком количестве полей нет. Уже упоминалось, что в 12 таблицах нет необходимости. Как и в мудрствовании с кросс-таблицами. К примеру. Попробуйте вышеупомянутую мной таблицу "Посещаемость" изменить так: Убрать поля nMonth и nExclud, для учета посещаемости по месяцам добавить поля nMonth1, nMonth2, ... nMonth12,nYear Тогда суммирование у вас будет наглядно выполняться одной командой REPLACE ALL. Необходимые отчеты вы будете получать из таблиц запросами. Для их отображения в EXCEL есть свои способы, рисуйте там свои шапки. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:17 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94..какой способ лучше? Сама плохо понимаю, поэтому обратилась за помощью, когда тут увидела похожую тему, такую же как и мне нужно сделатьAndreTM 94 , Зачем что-то создавать из кросса? Как уже было сказано - покажите пример таблиц-исходников, на основе которого вы получили свои table1...tableX. Поскольку вот прямо из этого исходника всё и считается... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:20 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Ребята, возможно, что у меня столбцы всегда будут определенного количества, потому что в столбцы это ЛПУ направившие своих пациентов в наш центр. И каждый месяц хоть одного человека то что отправляют от каждого ЛПУ это мне кажется 100%, я тут читал пост и т.к. у меня есть 12 таблиц таких за прошедший год попробовал получить годовой отчет и результат выдал в курсор нормальный вроде бы. Вот код весь: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:21 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
sg12, Get Out Please... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:22 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94, вот вам образец реализации ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:37 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Вроде правильно посчитало все. Если и мне придется такой годовой отчет делать? такой код сможет все посчитать интересно, при условии что количество ЛПУ всегда одинаково? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:38 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
AndreTM sg12, Get Out Please... Я уже давал одному студенту ссылку на книгу: Глушаков С.В. Ломотько Д.В. Базы данных. Учебный курс. Вам тоже он был бы не лишний. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:44 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Александр1986, за объединения вас повбывали бы Допустим, я вчера говорил об оптимизации запросов... На протяжении всего лишь (а методику уже начали разносить) полдня, за что-то никому из студиозов не пришло в голову изменить селект... Код: sql 1.
для того, чтобы затем не делать встроенный запрос в последнем селекте... ------------------ I'm silence too ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:47 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
AndreTM, там WHERE excluded=.f. больше же нету критериев для отбора. все строки должны попасть, в котором поле excluded=false. Думаю и мне бы понадобился запрос, который объединяет таблицы, потому что сегодня им нужно за месяц отчет, завтра скажут а давайте сразу за год или пол года. Спасибо. За год тоже формирует нормально, главное чтобы ничего не пропускало во время запросов ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 09:58 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Александр1986, правильно ли будет формироваться годовой отчет как тут писал Александр? Мне уже нужно под себя переделать и показать. просто ответьте Да или Нет при условии что столбцы (ЛПУ) всегда одинакового количества в данном случае всегда одинаково ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 10:13 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94q1w1e1, условие задачи такое что нужно сложить поля st1,st2...st200 пропустив во всех 12-ти таблицах первые три строчки так как там слова(символы), а в последующих строках цифры которые надо сложить for i=1 to 12 use tabl+(alltrim(str(i))) go 4 && попадаем на 4 запись, три пропущены..:-) do while !eof() skip enddo endfor ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 12:11 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
for i=1 to 12 use tabl+(alltrim(str(i))) alias tabl go 4 && попадаем на 4 запись, три пропущены..:-) do while !eof() x=0 for k=1 to 200 pole="tabl.s"+alltrim(k) x=x+evaluate(x) endfor skip enddo endfor ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 12:17 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
q1w1e1, Думаю так сложновато, поэтому решила сначала из всех 12-ти таблиц взять нужное и в один курсор, а уже как в том топике кросс-таблицу сформировать. Просто хотела бы знать этот код сделает все правильно или нет? Прошу ответить Да или Нет. :) а то в голове каша будет у меня Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 12:30 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94 И это надо не разово, а каждый год чтобы делалось А мне вот это очень понравилось! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 18:08 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94Просто хотела бы знать этот код сделает все правильно или нет? Прошу ответить Да или Нет. :) Да/Нет никто не ответит, т.к. никто тут не будет вдумываться в глубинный смысл твоей писанины. К тому же исходных данных недостаточно чтоб вдумываться. Учись сама понимать как оно работает. Именно за это тебе зп платят. Могу сказать "Да" если замена этого Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
на это Код: sql 1. 2.
даст правильный отчет за 1 месяц. Если даст, то за 12 месяцев тоже правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 19:46 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
Александр1986AndreTM, там WHERE excluded=.f. больше же нету критериев для отбора. все строки должны попасть, в котором поле excluded=false.Пойми такую вещь, что WHERE там может быть каким угодно... А вот такое: Код: sql 1.
позволит сразу повторно не строить подзапрос в последнем селекте по ячейкам, и выглядеть окончание там будет примерно так: Код: sql 1. 2. 3. 4.
Просто в Фоксе сложновато с CTE... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 21:38 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
94, если Вам для работы это нужно, то вот: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125.
Если что-то учебное, то, конечно, фтопку, ибо бред. Зато не зависит от порядка предметов/ФИО в таблицах, лишь бы полей в них было менее 255 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2013, 01:41 |
|
Как сложить поля в таблицах
|
|||
---|---|---|---|
#18+
GermanGM, Спасибо, я ваш код для себя попробую посмотрю что получится. Но я выше приведенный код взяла и вроде бы нормально. Только курсоре после объединения 12-ти таблиц и в екселе разница получилась на 12. Не знаю почему. в курсоре CurData 327470 записей а в экселе сумма всех 327458. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2013, 07:56 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1583129]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
100ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 199ms |
0 / 0 |