powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проставление нумерации в столбце таблицы
5 сообщений из 5, страница 1 из 1
Проставление нумерации в столбце таблицы
    #38225415
Alina26-89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Подскажите пожалуйста. Есть таблица "table". Нужно проставить составной ключ. Первая часть ключа известна. Требуется автоинкриментом заполнить вторую часть. Пример как должно выглядеть:

first |second
_______________________________
10 | 1
10 | 2
10 | 3
11 | 1
11 | 2
12 | 1
12 | 1
13 | 1
13 | 2
13 | 3
13 | 4
14 | 1
...
К сожалению, не так давно работаю с foxpro - опыта ноль, поэтому оочень прошу помощи.
...
Рейтинг: 0 / 0
Проставление нумерации в столбце таблицы
    #38225422
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
устанавливаешь сортировку по first и потом SCAN ... ENDSCAN
как-то так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
lnFirstPrev = -1 && значение которого не может быть в поле First
sele MyTable
set order to first && если такого индекса нет, то надо создать (поле second не должно участвовать в индексе)
scan
       if lnFirstPrev != MyTable.First
          lnFirstPrev = MyTable.First
          lnSecond = 0
       endif
       lnSecond = lnSecond + 1
       repl in MyTable second with lnSecond
endscan
...
Рейтинг: 0 / 0
Проставление нумерации в столбце таблицы
    #38225483
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alina26-89Добрый день. Подскажите пожалуйста. Есть таблица "table". Нужно проставить составной ключ. Первая часть ключа известна. Требуется автоинкриментом заполнить вторую часть. Пример как должно выглядеть:

first |second
_______________________________
10 | 1
10 | 2
10 | 3
11 | 1
11 | 2
12 | 1
12 | 1
13 | 1
13 | 2
13 | 3
13 | 4
14 | 1
...
К сожалению, не так давно работаю с foxpro - опыта ноль, поэтому оочень прошу помощи.

Примерно так для числовых данных:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE CURSOR test (first int, second int)
SELECT test 
INDEX on PADR(TRANSFORM(first) + '_' + TRANSFORM(second), 23) tag PrimaryKey CANDIDATE  

INSERT INTO test VALUES (10, 1)
INSERT INTO test VALUES (10,  2)
INSERT INTO test VALUES (10,  3)
INSERT INTO test VALUES (11,  1)
INSERT INTO test VALUES (11,  2)
INSERT INTO test VALUES (12,  1)
INSERT INTO test VALUES (12,  1)
INSERT INTO test VALUES (13,  1)
INSERT INTO test VALUES (13,  2)
INSERT INTO test VALUES (13,  3)
INSERT INTO test VALUES (13,  4)
INSERT INTO test VALUES (14,  1)



"_" - это разделитель (можно взять любой), что бы отличать 11 и 1 от 1 и 11 :)
...
Рейтинг: 0 / 0
Проставление нумерации в столбце таблицы
    #38225710
Alina26-89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWist, к сожалению Ваш вариант не подходит в связи с тем, что в нем новые строки вставляются, а у меня строки уже есть и мне требуется только второй столбик заполнить.
...
Рейтинг: 0 / 0
Проставление нумерации в столбце таблицы
    #38225741
Alina26-89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

Спасибо большое-пребольшое!!! Рабочий вариант
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проставление нумерации в столбце таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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