powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / опять SELECT SQL - не пойму как описать соотв. 10строк в 1стобец
5 сообщений из 5, страница 1 из 1
опять SELECT SQL - не пойму как описать соотв. 10строк в 1стобец
    #34068968
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет всем!

прикол такой - есть база про стопарный телефонный кабель, т.е. 100 записей с полем para со значениями от 0 до 99
есть какбы ответная ей база, но в ней эти пары разбиты на 10 групп по 10 пар, т.е. сделано 10 столбцов с названием plint0, plint1 ... plint9 и с типом МЕМО.
Запрос нужно замутить так, чтобы в выборке вышло что каждой паре от 0 до 9 рядом стояло значение поля plint0, от 10 до 19 - plint1 и тд
т.е. фактически это жесткое закрепление каждых 10 строк соответствующему столбцу. но как это описать в запросе? т.е. програмно было бы нечто вроде в цикле от 0 до 99
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
do case
case para between( 0 , 9 )
 repl box with plint0
case para between( 10 , 19 )
 repl box with plint1
...
case para between( 90 , 99 )
 repl box with plint9
endcase
тока надо же за раз сразу 100 записей выбрать.

я пока вижу лишь такой выход
- перестроить базу с полями plint так, чтобы там добавились поля beg_para и end_para, т.е. plint0 было бы 0 и 9 и тогда в запросе можно было бы писать where between(para,beg_para,end_para)
или
- делать выборку readwrite и потом дообрабатывать, тока не пойму как в таком случае зарезервировать в выборке поле типа МЕМО.

сенксь
...
Рейтинг: 0 / 0
опять SELECT SQL - не пойму как описать соотв. 10строк в 1стобец
    #34069023
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй что-то типа
select para , case(para between(0,9),plint0,para between(10,19),plint1...)
...
Рейтинг: 0 / 0
опять SELECT SQL - не пойму как описать соотв. 10строк в 1стобец
    #34069100
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT ;
   shrr.para,;
   case(between(shrr.para, 0 , 9 ),shrplints.plint0,;
        between(shrr.para, 10 , 19 ),shrplints.plint1,;
        between(shrr.para, 20 , 29 ),shrplints.plint2,;
        between(shrr.para, 30 , 39 ),shrplints.plint3,;
        between(shrr.para, 40 , 49 ),shrplints.plint4,;
        between(shrr.para, 50 , 59 ),shrplints.plint5,;
        between(shrr.para, 60 , 69 ),shrplints.plint6,;
        between(shrr.para, 70 , 79 ),shrplints.plint7,;
        between(shrr.para, 80 , 89 ),shrplints.plint8,;
        between(shrr.para, 90 , 99 ),shrplints.plint9) as box;
  FROM shrr,shrplints;
  INTO CURSOR curShrRozp
грит case.prg is not found - т.е. нету такой функции, типа самому писать надо?
может 10 вложенных IIFов мне помогут?
...
Рейтинг: 0 / 0
опять SELECT SQL - не пойму как описать соотв. 10строк в 1стобец
    #34069129
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опечатался (привычка от MS SQL) в фоксе icase это в 9
если icase нет - тогда куча iif
...
Рейтинг: 0 / 0
опять SELECT SQL - не пойму как описать соотв. 10строк в 1стобец
    #34069212
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, вфпя 8я, замутил через иифы, спасибо - направил мыслю в нужное русло :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT ;
   shrr.para,;
   IIF(between(shrr.para, 0 , 9 ),shrplints.plint0,;
    IIF(between(shrr.para, 10 , 19 ),shrplints.plint1,;
     IIF(between(shrr.para, 20 , 29 ),shrplints.plint2,;
      IIF(between(shrr.para, 30 , 39 ),shrplints.plint3,;
       IIF(between(shrr.para, 40 , 49 ),shrplints.plint4,;
        IIF(between(shrr.para, 50 , 59 ),shrplints.plint5,;
         IIF(between(shrr.para, 60 , 69 ),shrplints.plint6,;
          IIF(between(shrr.para, 70 , 79 ),shrplints.plint7,;
           IIF(between(shrr.para, 80 , 89 ),shrplints.plint8,;
            IIF(between(shrr.para, 90 , 99 ),shrplints.plint9,"")))))))))) as box;
  FROM shrr,shrplints;
  WHERE shrr.RozpCode =  1  AND ;
        shrplints.RozpCode =  1 ;
  INTO CURSOR curShrRozp
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / опять SELECT SQL - не пойму как описать соотв. 10строк в 1стобец
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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