:: Visual Foxpro, Foxpro for DOS
Как из большой таблицы вытянуть нужные поля в отдельную таблицу
mayil
Автор

Сообщений: 277
Откуда: Гянджа, Азербайд
Дата регистрации: 20.06.2006
Как из большой таблицы вытянуть нужные поля в отдельную таблицу?. В моей большой рабочей таблице 169 колонок. По разным требованиям мне необходимо из таблицы "вытянуть" нужные колонки для клиента в одну новую таблицу, и при этом выборе манипулировать с номерами колонок, но не их именами.
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
dimuhametov

Сообщений: 1562
Откуда: Костанай
Дата регистрации: 01.11.2008
Вроде SELECT(SQL) с номерами колонок работает, на форуме примеры были.


------------------
Незнание делает жизнь такой интересной.
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
select нужные_поля from таблица_источник where условия_отбора into table имя_новой_табл

Ну а что вы под
mayil
номерами колонок
один бог знает. Главное - зачем?!

------------------
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
VeterVFP

Сообщений: 413
Откуда: Москва
Дата регистрации: 26.12.2006
Аспид
Ну а что вы под
mayil
номерами колонок
один бог знает. Главное - зачем?!
Да, странная хотелка, но может подобное имело в виду:
FOR i=1 TO FCOUNT('MyTable')
? FIELD(i,'MyTable')
ENDFOR
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Через макро можно сделать.
Только лучше изначально из "таблицы с 169 колонками" сделать нормальную, не "развёрнутую" шахматку и с ней уж и работать - а для отображения всегда можно из row,col,value соорудить обратно "сетку" хоть на 169 хоть на 16000 (если выводить в эксель) "колонок".
Т.к. в реляционной таблице вообще-то нет "колонок", там поля - и каждое со своим особым смыслом


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
GM51

Сообщений: 107
Откуда: не Москва
Дата регистрации: 13.09.2010
в дБазе я делала так
USE TAB00
COPY STRU TO RAB1 FIELD KOD,NAIM,GRAVIROWKA,KOL,SUMMA
USE RAB1
APPE FROM TAB00
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
mayil
Автор

Сообщений: 277
Откуда: Гянджа, Азербайд
Дата регистрации: 20.06.2006
select нужные_поля from таблица_источник where условия_отбора into table имя_новой_табл
Спасибо, уже хорошо! Я предполагаю, что "нужные поля" есть ни что иное, как имена полей. Не буду же я поименно указывать поля, кои я хочу вытянуть.
А с этой подсказкой Аспида,

FOR i=1 TO FCOUNT('MyTable')
? FIELD(i,'MyTable')
ENDFOR
ЗАДАЧА РЕШАЕТСЯ! СПАСИБО, просто мне надо загнать в массив номера выбираемых полей и прокрутить цикл!
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
AndyNigmatec

Сообщений: 1550
Откуда: Волгоград
Дата регистрации: 28.06.2015
mayil
Не буду же я поименно указывать поля, кои я хочу вытянуть.

Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Ну что ж поделать, если структура изначально г*но, то так и придётся крутить циклы по AFIELDS и макро на каждом шагу делать


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
mayil
Автор

Сообщений: 277
Откуда: Гянджа, Азербайд
Дата регистрации: 20.06.2006
LOCAL spisok as Character
spisok="1 2 11 12 13 14 15 16 20 21 23 24 25 26 27 28 29 ;
30 31 32 33 34 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 ;
53 65 68 75 76 77 78 79 80 81 82 85 86 87 89 90 91 92 108 109 110"

kol_vo=GETWORDCOUNT(spisok)

DIMENSION SPIS(kol_vo)

FOR k=1 TO kol_vo
spis(k)=VAL(GETWORDNUM(spisok,k))
ENDFOR

* массив spis(k) готов. FİELD(spis(k)) выдает имя поля. Ну а теперь хочется мне ,
* чтобы это поле выдало мне число, содержащееся в верхней строке. Строка создана TOTALom.
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
mayil
Автор

Сообщений: 277
Откуда: Гянджа, Азербайд
Дата регистрации: 20.06.2006
Добрый день! На этом рисунке показан кусочек: итоговые (суммарные) данные за месяц по каждому полю.Так как
среди них имеются поля с нулевыми данными, надо их устранить. Если ноль то не включать их!
Месячные итоги получены командой TOTAL. Не прощаюсь!
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
GM51

Сообщений: 107
Откуда: не Москва
Дата регистрации: 13.09.2010
GM51
в дБазе я делала так
USE TAB00
COPY STRU TO RAB1 FIELD KOD,NAIM,GRAVIROWKA,KOL,SUMMA
USE RAB1
APPE FROM TAB00
иногда размер числовых полей не вмещал TOTAL -суммы, тогда немного иначе
USE TAB00
COPY STRU TO RAB1 FIELD NAIM,GRAVIROWKA,KOL,SUMMA EXTE
USE RAB1
REPL FIELD_LEN WITH FIELD_LEN+2 FOR FIELD_DEC>0
CREA RAB2 FROM RAB1
APPE FROM TAB00
TOTAL TO RAB3 ON FIELD NAIM+GRAVIROWKA
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
GM51

Сообщений: 107
Откуда: не Москва
Дата регистрации: 13.09.2010
GM51
в дБазе я делала так
USE TAB00
COPY STRU TO RAB1 FIELD KOD,NAIM,GRAVIROWKA,KOL,SUMMA
USE RAB1
APPE FROM TAB00
иногда размер числовых полей не вмещал TOTAL -суммы, тогда немного иначе
USE TAB00
COPY STRU TO RAB1 FIELD NAIM,GRAVIROWKA,KOL,SUMMA EXTE
USE RAB1
REPL FIELD_LEN WITH FIELD_LEN+2 FOR FIELD_DEC>0
CREA RAB2 FROM RAB1
APPE FROM TAB00
TOTAL TO RAB3 ON FIELD NAIM+GRAVIROWKA

по номерам полей старалась не работать --не доверяла
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
mayil
Автор

Сообщений: 277
Откуда: Гянджа, Азербайд
Дата регистрации: 20.06.2006
Вы не поняли.
Я не могу типа "STRU TO RAB1 FIELD NAIM, GRAVIROWKA, KOL, SUMMA" писать вручную,
т.е. лепить имена полей через запятую. Названия полей уже сидят в массиве SPIS(K).
Чтобы слепить название нужных полей я организовал цикл с участием массива SPIS(K).
Остается только аналогичным способом в цикле выдать значения в каждом поле!
Тогда я смогу отсеять ненужные поля. Например, в этом месяце может быть материальная помощь
никому дана не была. Тогда значение поля 'MATER' очевидно будет равно 0.
И таких нулевых полей бывает иногда сразу несколько. Итак есть список номеров полей,
по списку этих номеров находят имена полей FIELD(spis(k)).
Oстается вытянуть значения этих полей для отсева нулевых полей.
КТО И КАК МОЖЕТ ЭТОГО ДОБИТЬСЯ?
БЛАГОДАРНОСТИ и ЗВАНИЕ СЕНСЕЯ опосля этого.
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Например так, если я понял ТЗ. Благодарить не надо, это обычное г..нопрограмерство
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
Блин. Пол года не писал, а как всё изменилось. Нихрена не понимаю.
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
mayil
БЛАГОДАРНОСТИ и ЗВАНИЕ СЕНСЕЯ опосля этого.

Круто! Вы уже можете звания раздавать?
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
mayil
Автор

Сообщений: 277
Откуда: Гянджа, Азербайд
Дата регистрации: 20.06.2006
по номерам полей старалась не работать --не доверяла
как это так не доверяю! Скорей всего не получается!
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
mayil
Автор

Сообщений: 277
Откуда: Гянджа, Азербайд
Дата регистрации: 20.06.2006
Не могу прикрепить и отправить архив в 2 kb. На имейл хотите, пришлю все, чего добился в топике:
"Как из большой таблицы вытянуть нужные поля в отдельную таблицу"
Ratings: 0 negative/0 positive
Re: Как из большой таблицы вытянуть нужные поля в отдельную таблицу
mayil
Автор

Сообщений: 277
Откуда: Гянджа, Азербайд
Дата регистрации: 20.06.2006
Дайте немного расслабиться!

Ответил ФРОЛОВ ОЛЕГ, он же ГОМЕР СИМПСОН! Ему же и звание СЕНСЕЯ и большое СПАСИБО!
Поле таблицы я называю по разному: колонка, столб, столбец и даже графа. И вы знаете,
программы в которых использую эти имена, не робщат. Во всяком случае ни разу не слышал жалоб.
Но почему-то получил от вас выговор.

Хотите армянские анекдоты! Ашот: "Вазген, ты знаешь, в Армении еще в 16-м веке была беспроводная связь! ". Вазген: "Баааа..., откуда знаешь?". Ашот: "Да вот рыли-рыли наши археологи недавно остатки храма 16-го века, никаких проводов не нашли!"

Мать зовет сына домой: "Ваган, иди домой кофе пить".
Ваган прибежал:"Мама давай кофе"
Мать: "Ара, когда мы кофе пили? Вынеси мусор!"

Айкануш, мой веник на твой балкон не ходил?
Вартуш, мой балкон для твоего веника бульвар что ли?
Ладно эээ, мой веник не гулящий как ты!


Mayil Huseynov
3 недели назад
Перед зданием дети играют в футбол.
Мать с третьего этажа зовет сына: "Армаис, папа купил большую селедку.
Иди домой, будем ужинать".
Сын быстро бежит домой и говорит маме:"Мама, каждый день мне кричишь про селедку,
Хоть раз скажи, что будем шашлык есть!"
На следующий день:""Армаис иди домой, папа купил большую селедку.
Будем шашлык есть!".

Армяне вошли в ЕАЭС и ЕС! Поздравляю! Пушкин, самый любимый поэт армянского народа воскликнул: "Армяне шумною толпой по ЕвроАзии кочуют." Кстати, аденоиды-арменоиды, во множественном числе пишется "армяне", а вы пишете "армяни". Недаром Путин заставляет вас учить русский язык.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 20 (Гостей: 20)

© 2000-2024 Fox Club 
Яндекс.Метрика