Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите организовать запрос
|
|||
|---|---|---|---|
|
#18+
Помогите, пожалуйста, организовать команду (SELECT) извлечения данных из PAS.DBF (FPD). PAS.DBF : NUM C(4) VAR C(6) PAS C(3) Значения поля PAS.NUM не любые, а где-нибудь и как-нибудь предопределены. Например: ОДИН,ДВА,ТРИ, как в примере ниже, но это, как говорится, не предел. --------------------------- |NUM.....|VAR.....|PAS| --------------------------- |ОДИН..|ВАСЯ...|123| |ДВА.....|ПЕТЯ....|123| |ТРИ.....|МАША...|123| |ОДИН..|КУЗЬМА|222| |ДВА.....|ИГОРЬ..|222| |ДВА.....|ДАВИД..|333| |ТРИ.....|ЮРА......|333| |ОДИН..|ИРА.......|222| |ТРИ.....|ВАСЯ....|222| |ТРИ.....|КУЗЬМА|123| |ДВА.....|ГРУША..|222| |ОДИН..|ЛЕНА.....|333| |ОДИН..|ЖОРА...|123| |.............|...............|.......| так, чтобы в результате создался курсор, например SPISOK: -------------------------------------------------------- |N1..........|N2.........|N3........|Nn.......|PAS| -------------------------------------------------------- |ВАСЯ....|ПЕТЯ...|МАША...|..........|123| |КУЗЬМА|ИГОРЬ|...............|..........|222| |..............|ДАВИД.|ЮРА......|..........|333| |ИРА......|..............|ВАСЯ....|..........|222| |..............|..............|КУЗЬМА|..........|123| |..............|ГРУША.|...............|..........|222| |ЛЕНА....|..............|...............|..........|333| |ЖОРА..|..............|...............|..........|123| |..............|..............|...............|..........|.......| то есть неповторяющиеся значения поля PAS.NUM - это в своём роде имена полей в SPISOK, но дать имена последним по значению первых я, разумеется, не могу. Русскими они бывают. Значение поля SPISOK.Nn - это значение поля PAS.VAR в зависимости от значения PAS.NUM. Так, например, если PAS.NUM="ТРИ" и PAS.VAR="ВАСЯ" в одной записи, то SPISOK.N3="ВАСЯ". Что такое PAS.PAS? А это, млин, собственно, ответ на вопрос "Кто?" или "Чьих будете?". И вот меня "переклинило"... Процедурой сделал, но как-то "тяжело" вышло. Помогите мне, Бога ради с SELECT-ом. А то уж, знаете ли, обкурился весь, соображая как это сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 10:36 |
|
||
|
Помогите организовать запрос
|
|||
|---|---|---|---|
|
#18+
Hi bobit! Посмотри в сторону XTAB - т.е. перекрёстных запросов - их можно даже в дизайнере запросов сделать. И не бойся русских имён полей :) Ну сделает их vfpxtab ну и чёрт с ними :) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 19:16 |
|
||
|
Помогите организовать запрос
|
|||
|---|---|---|---|
|
#18+
это совпадение или так и есть т.е. лишнее выкидывать ? --------------------------- |NUM.....|VAR.....|PAS| --------------------------- |ОДИН..|ВАСЯ...|123| |ДВА.....|ПЕТЯ....|123| |ТРИ.....|МАША...|123| |ОДИН..|КУЗЬМА|222| |ДВА.....|ИГОРЬ..|222| |ДВА.....|ДАВИД..|333| |ТРИ.....|ЮРА......|333| |ОДИН..|ИРА.......|222| |ТРИ.....|ВАСЯ....|222| |ТРИ.....|КУЗЬМА|123| |ДВА.....|ГРУША..|222| |ОДИН..|ЛЕНА.....|333| |ОДИН..|ЖОРА...|123| |.............|...............|.......| ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 11:23 |
|
||
|
Помогите организовать запрос
|
|||
|---|---|---|---|
|
#18+
Igor KorolyovИ не бойся русских имён полей А я их и не боюсь. Чего это мне их бояться? Я их опасаюсь. Ага. Нет, ну... представляю, а чего будет если не "один", "два", "три" и т.д., но "Нашёл умного человека", ", а тот ложку в ухо", "так и норовит", "запихнуть.", "Нет, чтобы 1/2 той", " ан целую всовывает". Что же касается уточняющего вопроса от leaf. Вы правы. Это я коряво вопросик задал. Ну-у, так я же тогда обкурился в муку. Простите ради всех святых, пожалуйста. Дело такое. Пользователь (это те, которые в PAS.PAS), например, делает запросы по определённым полям (это те, которые в PAS.NUM) или переменным. Значения полей (или переменных для дальнейшего построения запроса) некоей формы регистрируются в таблице PAS (PAS.VAR). А задачка в том и состояла, чтобы "в горизонталь" (если так можно сказать) всю эту беду свести, да взглянуть на выгоду или недостатки от такой организации хранения. Ведь в PAS empty(PAS.поле)=.t. невозможно, а в SPISOK - имеются. Лишнего в таблице PAS, к сожалению, вовсе нет. Э-эх... Ладно, братки. Хотелось мне короче, но процедуркой сподобился. А может и впрямь кто-нибудь за труд не сочтёт, да содействие окажет мне, горемычному, а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 03:35 |
|
||
|
Помогите организовать запрос
|
|||
|---|---|---|---|
|
#18+
Как я понимаю исходная таблица: NumVarPasОДИНВАСЯ123ДВАПЕТЯ123ТРИМАША123ОДИНКУЗЬМА222ДВАИГОРЬ222ДВАДАВИД333ТРИЮРА333ТРИВАСЯ222ОДИНЛЕНА333 Igor KorolyovПосмотри в сторону XTAB Я посмотрел, а ты чего? Код: plaintext 1. 2. 3. 4. 5. 6. PasДваОдинТри123ПетяВасяМаша222ИгорьКузьмаВася333ДавидЛенаЮра ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 09:12 |
|
||
|
Помогите организовать запрос
|
|||
|---|---|---|---|
|
#18+
bobitНет, ну... представляю, а чего будет если не "один", "два", "три" и т.д. Я думаю не составит труда переделать таблицу Pas.dbf Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:49 |
|
||
|
Помогите организовать запрос
|
|||
|---|---|---|---|
|
#18+
Grumax_userЯ посмотрел, а ты чего? Чего, чего... А я не посмотрел, вот чего. Я, значи-ца, лопухнулся. Прошу прощения у всей честной братии за отобранное время. Указание от Igor Korolyov - это то, что доктор прописал. Хотя... Горбатого, как говорится, только... А вот изменять или создавать таблицы - это не только то, что не надо бы, но и не получится. Все устройства хранения информации для записи результатов обработки недоступны. Секретятся, Богу в душу!.. С FPD это особенно интересно... Впрочем, всё - уже детали. Спасибо большое Igor Korolyov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 22:32 |
|
||
|
Помогите организовать запрос
|
|||
|---|---|---|---|
|
#18+
Hi Grumax_user! Ну а ЧТО должно там получаться то? Сам же группируешь, сам потом удивляешься полученному результату? Вообще я например не понимаю по какой такой нереляционной (хотел сказать нечеловеческой :) ) логике в изначальном примере ВАСЯ, ПЕТЯ и МАША попали в ОДНУ строку, а скажем КУЗЬМА и ЖОРА в разные! Это если учитывать что в реляционной СУБД порядок строк вообще не существенен! Надо сначала формализовать требования тогда. о в любом случае это будет подвидом перекрёстного запроса - да, согласен что т.к. есть "дублирование" между Num и Pas, то vfpxtab в "чистом виде" не подойдёт - он рассчитывает что комбинация полей ROW/COL уникальна (но тогда потребуется в одно поле запихать сразу НЕСКОЛЬКО значений - например в 123/ОДИН должны попасть и ВАСЯ и ЖОРА)... Т.е. надо либо как-то "расширить" поле Pas (например банально - "склеить" его с полем VAR) - тогда vfpxtab отработает, но естественно что в КАЖДОЙ строке тогда будет лишь по одному значению - остальные NULL, либо как-то изменить логику vfpxtab (что весьма непросто IMHO). В первом случае "после" экзекуции можно будет провести "сбивку" - "сливая" 2 строки с одинаковым Pas, если они в прочих полях не пересекаются - так мы существенно уменьшим число строк, но вполне может быть что "сольются" вовсе не те строки что мы изначально предполагали - вообще скорее всего мы получим вариант сбивки "лесенкой" - т.е. в первую запись последовательно "вольются" записи с заполненным вторым, третьим, четвертым и т.д. полями - потом процесс повториться для очередной записи с "единственным заполненным" полем данных и так пока не дойдём до конца... Кратко говоря при такой схеме для начального расклада КУЗЬМА и ЖОРА будут в одной строке, равно как и ЛЕНА, ДАВИД, ЮРА и ИРА, ГРУША, ВАСЯ. То это что требуется или нет - я уж судить не буду... Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 00:58 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32935492&tid=1594741]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
82ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 374ms |

| 0 / 0 |
