Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

хочу объединить три поля одной таблицы в одно   Найти похожие ветки 

 
как сделать   (2004-04-27 21:29) [0]

Помогите!!!! Пожайлуста!!!!
Например, поля Фамилия, Имя, Отчество нужно объединить в одно, чтобы потом можно было отобразить в DBGride kak один столбец, а не как три.


 
Просто Я ©   (2004-04-27 22:32) [1]

procedure TDM.Table1фиоGetText(Sender: TField; var Text: String;
 DisplayText: Boolean);
begin
 Text :=фам.Value+"/ "+имя.Value+"/ "+отч.Value
end;


 
Vemer ©   (2004-04-27 23:07) [2]

Или так:

Select (Name1 + " " + Name2 + " " + Name3) as SuperName From My_Table

Плюсы заменить согласно синтаксису используемой БД.


 
Deniz ©   (2004-04-28 06:53) [3]

> Vemer ©   (27.04.04 23:07) [2]
> Select (Name1 + " " + Name2 + " " + Name3) as SuperName
> From My_Table
>
> Плюсы заменить согласно синтаксису используемой БД.

Так вроде:
Select (Name1 || " " || Name2 || " " || Name3) as SuperName From My_Table
должно везде работать


 
sniknik ©   (2004-04-28 08:50) [4]

> должно везде работать
ну конечно.
наоборот чаше используется плюс, а эта запись по моему только в IB и клонах (т.е. довольно редко).


 
ceval ©   (2004-04-28 12:27) [5]

Я можно маленький вопрос

возможно такое проделять с ADOTable ?


 
Deniz ©   (2004-04-28 12:41) [6]

> sniknik ©   (28.04.04 08:50) [4]
> наоборот чаше используется плюс, а эта запись по моему только
> в IB и клонах (т.е. довольно редко).

Странное утверждение!
Работает в DBF/Oracle/InterBase и т.д.
А в стандарте SQL как записано? ;-)


 
Соловьев ©   (2004-04-28 12:42) [7]

следующий вопрос как потом это редактировать :)))


 
sniknik ©   (2004-04-28 13:05) [8]

> Странное утверждение!
> Работает в DBF/Oracle/InterBase и т.д.
IB я указал, оракл может быть не знаю
а вот с DBF решил проверить (может действительно упускаю чтото)

EOleException : [Microsoft][Драйвер ODBC dBase] Недопустимое использование символов вертикальной черты в выражении запроса ""kjhjkhkj" || NAME"
EOleException : [Microsoft][ODBC Visual FoxPro Driver]Command contains unrecognized phrase/keyword
EOleException : Недопустимое использование символов вертикальной черты в выражении запроса ""kjhjkhkj" || NAME"
(это Jet, не написал от кого ошибка)

какой драйвер еще проверить?

> А в стандарте SQL как записано? ;-)
в каком?

Transact-SQL Reference
+ (String Concatenation)
An operator in a string expression that concatenates two or more character or binary strings, columns, or a combination of strings and column names into one expression (a string operator).

Syntax
expression + expression


 
Соловьев ©   (2004-04-28 13:17) [9]


> sniknik ©   (28.04.04 13:05) [8]

думаю имелось ввиду LocalSQL


 
Deniz ©   (2004-04-28 13:36) [10]

> Соловьев ©   (28.04.04 12:42) [7]
> следующий вопрос как потом это редактировать :)))

Вопрос звучал: "Например, поля Фамилия, Имя, Отчество нужно объединить в одно, чтобы потом можно было отобразить в DBGride kak один столбец, а не как три."
На что был дан ответ! Причем в двух вариантах, 1-на клиенте (Просто Я ©   (27.04.04 22:32) [1] ) 2-SQL запросом.
В обоих случаях можно "извратиться" и нормально редактировать!

> sniknik ©   (28.04.04 13:05) [8]
Да, для ODBC DBF это не работает, хотя BDE "понимает" + и ||.
Transact-SQL Reference. Это, как я понимаю, MS SQL Server? А ODBC драйвера тоже MS"овские? Видать в MS принято так делать конкатенацию строк.
Ну да ладно, как уж у автора будет работать, так он и напишет!


 
Соловьев ©   (2004-04-28 13:42) [11]


> В обоих случаях можно "извратиться" и нормально редактировать!

а сохранить?:)


 
Val ©   (2004-04-28 13:46) [12]

>sniknik ©   (28.04.04 13:05) [8]

> А в стандарте SQL как записано? ;-)
в каком?

ansi SQL, кажется, он же SQL"92.


 
Deniz ©   (2004-04-28 13:54) [13]

> Соловьев ©   (28.04.04 13:42) [11]
И сохранить. Для предупреждения сл-щих вопросов:
select name1, name2, name3, name1 || name2 || name3 fio from table
Показывать только fio а редактировать и сохранять name1, name2 и name3 (не в гриде) а отдельно
Знаю что это не правильно, в смысле сетевого трафика и т.д., но в теории возможно.


 
Соловьев ©   (2004-04-28 13:56) [14]


> Deniz ©   (28.04.04 13:54) [13]

это понятно.
а вот в гриде как? Думаю автору как раз это и будет нужно :)


 
Mim1 ©   (2004-04-28 16:30) [15]

можно сделать calculated поле и вычислять кго на клиенте.


 
paul_k ©   (2004-04-28 16:45) [16]

2 Соловьев
в BeeforePost строчку разобрать по пробелам первые два слова соотвественно по полям а астаток в третье поле...
и, кстати, не уверен что запрос
select name1+" "+name2+" "+name3 as supername будет редактируемым



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.621 c
14-1083347554
gn
2004-04-30 21:52
2004.05.23
Microsoft будет давать всплывающие уроки по безопасности


11-1071742891
BaDeVlad
2003-12-18 13:21
2004.05.23
Как в RichEdit изменить WordWrap?


14-1083139177
stone
2004-04-28 11:59
2004.05.23
Письмо в КП :))


11-1071331854
Vladimir Kladov
2003-12-13 19:10
2004.05.23
{$IFDEF } в секции finalizationn


3-1082719681
}|{yk
2004-04-23 15:28
2004.05.23
Ошибка создания триггера (FireBird 1.5)