Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
как сделать   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.038 c
3-1083344624
Anti
2004-04-30 21:03
2004.05.23
DBF-File


14-1083333839
Ultr
2004-04-30 18:03
2004.05.23
На суд народа


1-1083959896
Sergix
2004-05-07 23:58
2004.05.23
Как скопировать каталог


3-1083132416
Mishel
2004-04-28 10:06
2004.05.23
триггер Interbase -> триггер MSSQL 2000


4-1080579089
ботинок
2004-03-29 20:51
2004.05.23
окно типа аськи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский