Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Объединение несколиких полей в одно в SQL [D6, Paradox]


Юляша ©   (2002-05-20 15:54:00) 

У меня есть 3 поля: Фамилия, Имя, Отчество. Мне нужно сделать из них одно - 3 слова через пробел. Как это реализовать в SQL?

Конкретнее: Нужно подготовить данные для отчета (запрос). Не могу использовать компонент Expression - пути к базе данных прописываю в run-time, то есть не получается правильно написать текст выражения в процессе проектирования.

Подскажите, что делать? Подойдет любой из вариантов решения (expression или объединение полей)


Val   (2002-05-21 10:51:00) [1]

>DarkGreen (21.05.02 06:52)
>Slym (21.05.02 08:44)
Она же говорит-Paradox.

select SecName||" "||SUBSTRING(FirstName FROM 1 FOR 1)||"."||SUBSTRING(FatherName FROM 1 FOR 1)||"." from mytable



Slym   (2002-05-21 08:44:00) [2]

select LastName +" "+left$(FirstName,1)+"."+left$(MidleName,1)+"." as FIO from myTable


DarkGreen   (2002-05-21 06:52:00) [3]

Зачем так сложно. Можно так :-)
selectLastName || " " || substr(FirstName, 1, 1) || ". " || substr(MidleName, 1, ,) || "." frommyTable


dimis   (2002-05-20 20:09:00) [4]

создаем вычислеемое поле (Calculated) Fio
на событие Query1.OnCalcField
помещаем код

begin
Query1Fio.AsString:=Query1F.AsString+" "+Query1N.AsString[1]+"."+Query1O.AsString[1]+".";
end;


Romkin   (2002-05-20 16:35:00) [5]

Реально, через вычисляемое поле


Юляша   (2002-05-20 16:26:00) [6]

А как сделать вместо
Иванов Иван Иванович
Иванов И.И.
Это реально?


Val   (2002-05-20 16:24:00) [7]

>pb (20.05.02 16:08)
вы совершенно неправы, хотя бы потому, что открываем Local SQL Help и смотрим Concatenation function. Этот значок конкатенации из 92-го стандарта.


Юляша   (2002-05-20 16:22:00) [8]

А как сделать вместо
Иванов Иван Иванович
Иванов И.И.
Это реально?


pb   (2002-05-20 16:16:00) [9]

Для парадокс лучше всего использовать вычисляемые поля
или использовать компонент TQuare
select a1+" "+a2
from table


Юляша   (2002-05-20 16:08:00) [10]

Что значит какая БД? Paradox...


pb   (2002-05-20 16:08:00) [11]

to Val
Это для Interbase


pb   (2002-05-20 15:59:00) [12]

Какая база данных


Val   (2002-05-20 15:58:00) [13]

select SecName ||" " ||FirstName ||" "||FatherName from mytable


Наверх

Титульная страница Поиск, карта сайта Написать письмо