sql запрос[РЕШЕНО]

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Pavidlo
новенький
Сообщения: 41
Зарегистрирован: 16.02.2011 15:04:49

sql запрос[РЕШЕНО]

Сообщение Pavidlo »

Добры день! Пишу программу база mysql. Необходимо написать запрос, по дате внесения в базу... То есть, в базу забиваются данные, например ФИО. В запросе должны получиться данные отсортированные в порядке добавления в БД. А так же рядом должен стоять его номер. 1,2,3 и т.д. Наюсь вы меня поймете)
Запрос следующий:
Код:

Код: Выделить всё

set @nomer:=0;
SELECT  @nomer:=@nomer+1,fam_factich,data_zaved_dela FROM `deti-siroti`.`fiz_lica`
WHERE id_code=101
ORDER BY data_zaved_dela asc ;

Запрос проверял в MySQLWorkbench Работает на ура.

Может кто-нить знает в чем проблема?
Последний раз редактировалось Pavidlo 27.06.2011 12:26:36, всего редактировалось 1 раз.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Уберите set @nomer:=0; в начале запроса.
Pavidlo
новенький
Сообщения: 41
Зарегистрирован: 16.02.2011 15:04:49

Сообщение Pavidlo »

Тогда не получится пронумеровать поля в том порядке в котором нужно..
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Здесь проблема непосредственно в компоненте доступа к MySQL (да и во всех остальных стандартных). Перед отправкой запроса компонент парсирует запрос и в случае если он не удовлетворят условию (в данном случае возврат набора данных) вызывается ошибка без передачи запроса непосредственно SQL. А конструкция set @nomer:=0; результат не возвращает :wink:

Как выход использовать сторонние компоненты без этой "фичи" или писать самому доступ к SQL.
Pavidlo
новенький
Сообщения: 41
Зарегистрирован: 16.02.2011 15:04:49

Сообщение Pavidlo »

Спасибо за совет проблему решил вот так

Код: Выделить всё

SELECT @i := @i + 1 AS number, data_zaved_dela FROM `deti-siroti`.`fiz_lica`, (select @i:=0) AS z
ORDER BY data_zaved_dela asc ;
Ответить