powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
10 сообщений из 10, страница 1 из 1
Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
    #33433485
Pvase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подключаюсь по OLE DB (VFP 9.0)
Пытаюсь выполнить вот такой запрос:
Код: plaintext
1.
2.
3.
4.
SELECT RTRIM(SP274) As NameC
FROM SC73
GROUP BY RTRIM(SP274)
ORDER BY RTRIM(SP274)
(запрос конечно не весь, но ошибка именно в функции RTRIM, так как без нее запрос выполняется).
В ответ получаю: "CommandText::Execute(): SQL: Column '' is not found."

Может проблема в том, что эта функция не умеет обрабатывать пустые значения (NULL)?
...
Рейтинг: 0 / 0
Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
    #33433508
Starpom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Group by NameC

И будет тебе счастье :-)
...
Рейтинг: 0 / 0
Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
    #33433535
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PvaseПодключаюсь по OLE DB (VFP 9.0)
Пытаюсь выполнить вот такой запрос:
Код: plaintext
1.
2.
3.
4.
SELECT RTRIM(SP274) As NameC
FROM SC73
GROUP BY RTRIM(SP274)
ORDER BY RTRIM(SP274)
(запрос конечно не весь, но ошибка именно в функции RTRIM, так как без нее запрос выполняется).
В ответ получаю: "CommandText::Execute(): SQL: Column '' is not found."

Может проблема в том, что эта функция не умеет обрабатывать пустые значения (NULL)?
RTRIM() надо убрать, длина поля начинает вычислять уже при первой записи, а она у тебя 0. Вот и ошибка.
...
Рейтинг: 0 / 0
Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
    #33433579
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE CURSOR SC73 (SP274 C( 10 ) NULL, p2 C( 10 ) NOT NULL DEFAULT "")
INSERT INTO SC73 (p2) VALUES ("qwerqw")
INSERT INTO SC73 (SP274, p2) VALUES ("йцукйцу","qwerqw")
INSERT INTO SC73 (SP274) VALUES ("123")

SELECT SP274 As NameC ;
FROM SC73;
GROUP BY SP274;
ORDER BY SP274 INTO CURSOR Cur001


SELECT RTRIM(SP274) As NameC ;
FROM SC73;
GROUP BY RTRIM(SP274);
ORDER BY RTRIM(SP274)
При получении Cur001 ошибки не выдает, а при работе второго запроса выскакивает ошибка.
...
Рейтинг: 0 / 0
Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
    #33434540
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Pvase!

1) Боюсь что без CAST (RTRIM() ... AS varchar(200)) AS NewField работать не
будет - в фоксе по умолчанию все поля имеют фиксированный размер, и в лучшем
случае "простой" RTRIM() приведёт к тому, что все поля получат тот размер
что будет у поля первой записи при применении к ней этой функции - если
размер будет маленький - прочие поля урежутся, если там вообще NULL или
пустое поле - то даже не знаю каких нехороших последствий стоит ждать...
2) Попробуй обращаться из GROUP и ORDER по номеру поля - т.е. GROUP BY 1
ORDER BY 1

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
    #33439179
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> SELECT RTRIM(SP274) As NameC ;
> FROM SC73;
> GROUP BY RTRIM(SP274);
> ORDER BY RTRIM(SP274)

1) А зачем вообще нужен RTRIM() в этой выборке (ведь он действительно
обрежет ширину колонки по первому значению в курсоре)
2) GROUP, ORDER действительно нужно делать через номер колонки
...
Рейтинг: 0 / 0
Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
    #33439181
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> SELECT RTRIM(SP274) As NameC ;
> FROM SC73;
> GROUP BY RTRIM(SP274);
> ORDER BY RTRIM(SP274)

1) А зачем вообще нужен RTRIM() в этой выборке (ведь он действительно
обрежет ширину колонки по первому значению в курсоре)
2) GROUP, ORDER действительно нужно делать через номер колонки
...
Рейтинг: 0 / 0
Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
    #33441316
&&&
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
&&&
Гость
PvaseПодключаюсь по OLE DB (VFP 9.0)
Пытаюсь выполнить вот такой запрос:
Код: plaintext
1.
2.
3.
4.
SELECT RTRIM(SP274) As NameC
FROM SC73
GROUP BY RTRIM(SP274)
ORDER BY RTRIM(SP274)
(запрос конечно не весь, но ошибка именно в функции RTRIM, так как без нее запрос выполняется).
В ответ получаю: "CommandText::Execute(): SQL: Column '' is not found."

Может проблема в том, что эта функция не умеет обрабатывать пустые значения (NULL)?

Код: plaintext
1.
2.
3.
4.
SELECT Padr(RTRIM(SP274), 50 ) As NameC
FROM SC73
GROUP BY Padr(RTRIM(SP274), 50 )
ORDER BY Padr(RTRIM(SP274), 50 )
...
Рейтинг: 0 / 0
Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
    #33447700
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select max(len(trim(sp274))) as max_len_sp274 from sc73 into cursor cur_sc73
m.max_len_sp274=cur_sc73.max_len_sp274
use
select padr(sp274,m.max_len_sp274) as NameC;
from sc73;
group by 1;
order by 1 into cursor Cur001
...
Рейтинг: 0 / 0
Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
    #33447701
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select max(len(trim(sp274))) as max_len_sp274 from sc73 into cursor cur_sc73
m.max_len_sp274=cur_sc73.max_len_sp274
use
select padr(sp274,m.max_len_sp274) as NameC;
from sc73;
group by 1;
order by 1 into cursor Cur001
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Почему не хочет работт RTRIM в "SELECT" и "GROUP BY"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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