Последовательная нумерация строк в курсоре | |
---|---|
ptaxa888 Автор Сообщений: 61 Дата регистрации: 07.03.2018 |
Существует динамический запрос, после того как он сформирован пользователем,происходит вывод на экран временного курсора по средством Browse.
Количество строк значение не постоянное, при изменении запроса их кол-во меняется. Прошу помощи в формировании поля с порядковым номером выводимых строк. Если добавляю в динамический запрос RECNO() не отрабатывает DISTINCT, как обойти этот вариант? |
Re: Последовательная нумерация строк в курсоре | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> Количество строк значение не постоянное
Количество каких строк? Покажи пример данных. ну... изобрази курсор из "динамический запрос":
Исправлено 1 раз(а). Последнее : of63, 30.03.18 00:22 |
Re: Последовательная нумерация строк в курсоре | |
---|---|
ptaxa888 Автор Сообщений: 61 Дата регистрации: 07.03.2018 |
он итак изображается, вопрос в том что если следовать такому принципу то запрос можно использовать только SELECT, а мне необходимо SELECT DISTINCT.
ПРИМЕР ДАННЫХ ПУСТЬ БУДЕТ ТАКОЙ A01 A02 A03 A04 1 ИВАНОВ ИВАН ИВАНОВИЧ 2 ПЕТРОВ ПЕТР ПЕТРОВИЧ 3 СИДОРОВ ОЛЕГ ПЕТРОВИЧ Необходимо сформировать поле А01 с номером по порядку. Количество полей величина переменная Исправлено 2 раз(а). Последнее : ptaxa888, 30.03.18 00:31 |
Re: Последовательная нумерация строк в курсоре | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Покажи запрос без DICTINCT, и какие записи нужно наблюдать (нужно их количество получить?, или построчный список, кто вошет в этот DISCINCT?)
DISNINCT делает типа возможно набор записей по всем полям индекс UNICUE, только по одной "похожей" записи возвращает, ну, похоже проблема не в этом? |
Re: Последовательная нумерация строк в курсоре | |
---|---|
ptaxa888 Автор Сообщений: 61 Дата регистрации: 07.03.2018 |
|
Re: Последовательная нумерация строк в курсоре | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
ахренеть )
но выведи курсор, и получи RECNO записей этого курсора как вторичный, аа, третичный SELECT SELECT * FROM (суперселект с ордерами и группировками, точнее наоборот) INTO CURSOR aaa SELECT RECNO() AS номер, * FROM aaa |
Re: Последовательная нумерация строк в курсоре | |
---|---|
ptaxa888 Автор Сообщений: 61 Дата регистрации: 07.03.2018 |
ПОПРОБУЕМ-КА)
|
Re: Последовательная нумерация строк в курсоре | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Тебе же написали - сделай ДВА запроса. Сначала выбери что надо с distinct и order, потом из первого курсора во второй recno() и * Или в первом запросе добавь к списку выбираемых полей фикстивное "пустое" поле, скажем CAST(0 as I) ordinal_number - на distinct оно никак не повлияет. READWRITE в запросе уже есть, так что после запроса пропиши recno() в это поле
------------------ WBR, Igor |
Re: Последовательная нумерация строк в курсоре | |
---|---|
ptaxa888 Автор Сообщений: 61 Дата регистрации: 07.03.2018 |
РАБОТАЕТ, СПАСИБО) ПРОЩЕ НЕ КУДА |
Re: Последовательная нумерация строк в курсоре | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
возможно придется выполнить эту конструкцию (типовую макроконструкцию для фокса) в "правильном, ожидаемом" алиасе, посклоьку используеься ф-ия RECNO() - номер записи в текущем алиасе.
SELECT * FROM (суперселект с ордерами и группировками, точнее наоборот) INTO CURSOR aaa SELECT RECNO() AS номер, * FROM aaa Вобщем, с пониманем к фоксу придется отнестись, удачи вобщем ) |
Re: Последовательная нумерация строк в курсоре | |
---|---|
ptaxa888 Автор Сообщений: 61 Дата регистрации: 07.03.2018 |
Подскажите, вот нужна мне сортировка по полю id но выводить это поле в browse я не хочу. ORDER BY id срабатывает только в том случае если поле id есть в SELECT а оно мне там не нужно. Такого поля которое присутствовало в выводимом курсоре постоянным - нет. Как поступить?
Исправлено 1 раз(а). Последнее : ptaxa888, 30.03.18 01:04 |
Re: Последовательная нумерация строк в курсоре | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
раздели вопросы:
- вот нужна мне сортировка по полю id но выводить это поле в browse я не хочу. - RDER BY id срабатывает только в том случае если поле id есть в SELECT а оно мне там не нужно. (?) - Такого поля которое присутствовало в выводимом курсоре постоянным - нет. Как поступить? Доб. И почему не спишь? Исправлено 1 раз(а). Последнее : of63, 30.03.18 01:09 |
Re: Последовательная нумерация строк в курсоре | |
---|---|
ptaxa888 Автор Сообщений: 61 Дата регистрации: 07.03.2018 |
Цель: нужна сортировка выводимого курсора по полю id, без отображения этого поля (id) в курсоре.
ЗАЧЕМ ЭТО: вместо поля id теперь используется recno() as №п/п, но сортировка должна оставаться прежней. Исправлено 1 раз(а). Последнее : ptaxa888, 30.03.18 01:13 |
Re: Последовательная нумерация строк в курсоре | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
отображение в фоксе - не суть (отображают курсор видеоинструменты, типа BROW, или Grid). Наличие в курсоре !"лишнего" ( и любого другого служебного) поля, типа ID не помешает красивому отображению на экране, в т.ч. в Grid
> но сортировка должна оставаться прежней. для этого надо предпринять усилия - соохранить RECNO исходной "записи" (№ строоки в "прежнем" файле). Потом мы по нему сможем сортировать, да ведь? Исправлено 1 раз(а). Последнее : of63, 30.03.18 01:16 |
Re: Последовательная нумерация строк в курсоре | |
---|---|
ptaxa888 Автор Сообщений: 61 Дата регистрации: 07.03.2018 |
щас попробуем)
Исправлено 1 раз(а). Последнее : ptaxa888, 30.03.18 01:22 |
Re: Последовательная нумерация строк в курсоре | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Птаха888 окрыляет )
|
Re: Последовательная нумерация строк в курсоре | |
---|---|
ptaxa888 Автор Сообщений: 61 Дата регистрации: 07.03.2018 |
|
Re: Последовательная нумерация строк в курсоре | |
---|---|
ptaxa888 Автор Сообщений: 61 Дата регистрации: 07.03.2018 |
По нему мы сможем сортировать а как выкинуть поле id из * ? не перечислять же все 40 полей за искл id |
Re: Последовательная нумерация строк в курсоре | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
В выходном отчете? У вас так банально: из рабочего курсора COPY TO ... TYPE XL5.. ну, сделай "кусрор без первого поля", там: AFIELDS, удаление/добавление полей (строк в массиве), CREATE FROM ARRAY, APPEND FROM ... например? Сложно? можно SELECT-строку построить извлечения, подставить макросом... Фантазируюй
|
Re: Последовательная нумерация строк в курсоре | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Именно ПЕРЕЧИСЛЯТЬ!И никак иначе. И так всегда (Ну кроме отладки) ------------------ |
© 2000-2024 Fox Club  |