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

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

Объединение 3-х полей таблицы Paradox в одно. [D5, XP]


Semen ©   (2010-05-17 22:45:00) 

В структупе таблицы Paradox  имеются три поля: Фамилия, Имя, Отчество. Есть необходимость объединить их в одно поле - ФИО.
Возможно ли это? Все операторы SQL изучил, ничего подобного там не нашел.


Semen   (2010-05-18 22:03:00) [1]

Фантастика, спасибо большое всем за помощь.


oldman   (2010-05-18 12:49:00) [2]


> > Добавить поле, пройтись в цикле, вставить данные, удалить
> > три поля.
>
> Сергей Владимирович! Что добавить поле - это мне понятно,
>  все остальное, если можно практически.


Create fio
 replace all fio with fam+im+otch
   или
 while not eof() do fio=(fam+im+otch)
delete fam
delete im
delete otch

На русский переводи сам


Демо   (2010-05-18 12:49:00) [3]

1. Добавляешь столбец
2. UPDATE <TableName> SET <NewField>=<OldField1>||<OldField2>||<OldField3>
3. Удаляешь ненужные столбцы


MonoLife   (2010-05-18 11:51:00) [4]

> Semen
Ну, создай пустую таблицу и с пом. того же TTable выполни
> oldman ©   (18.05.10 08:44) [3]
в новую таблицу
хотя это почти то же самое, что в [3]


Sergey13   (2010-05-18 10:39:00) [5]

> [6] Semen   (18.05.10 10:25)

А, я понял. Ты к готовым компонентам привык. Кинул компонент - объединил 3 поля в одно. Для обединения 4 полей нужно искать другой компонент.
Ну гугли тогда. Говорят ищущий да обрящет.


Semen   (2010-05-18 10:25:00) [6]


> ALTER TABLE неужели не встречал?

Встречал, читал, однако ALTER TABLE в большинстве случаев используют чтобы изменить таблицу посредством оператора: добавить столбцы, переименовать и т.д., что можно сделать с помощью Database Desktop.
ALTER TABLE позволяет изменить структуру существующей таблицы. Например, можно добавлять или удалять столбцы, создавать или уничтожать индексы, изменять тип существующих столбцов или переименовывать столбцы и сами таблицы. Можно также изменять комментарии для таблиц и их тип.
В синтаксисе ALTER TABLE написано:
ALTER TABLE [имя таблицы]
ADD [COLUMN]
MODIFY [COLUMN]
ADD INDEX [имя_индекса]
PRIMARY KEY [тип_индекса]
ALTER [COLUMN] имя_столбца  
а как это реализовать на практике?


> Добавить поле, пройтись в цикле, вставить данные, удалить
> три поля.

Сергей Владимирович! Что добавить поле - это мне понятно, все остальное, если можно практически.


turbouser   (2010-05-18 10:09:00) [7]


> Semen   (18.05.10 08:29) [2]


> Речь идёт - поменять структуру таблицы: из трёх полей сделать
> одно?

Зачем такая денормализация??


Sergey13   (2010-05-18 09:35:00) [8]

> [0] Semen   (17.05.10 22:45)
> Все операторы SQL изучил, ничего подобного там не нашел.

Значит не все. ALTER TABLE неужели не встречал?
Только не советую объединять. С раздельными проще и лучше. Объединить всегда можно. И инициалы сделать вместо имени-отчества. А вот в случае одного поля разделить и "обинициалить" гораздо сложнее.


oldman   (2010-05-18 08:44:00) [9]

Добавить поле, пройтись в цикле, вставить данные, удалить три поля.
Любым редактором таблиц.
Программу писать не надо.


Semen   (2010-05-18 08:29:00) [10]


> оператор конкатенации ||

поможет при выводе записей из таблицы.
Речь идёт - поменять структуру таблицы: из трёх полей сделать одно?


turbouser   (2010-05-17 22:49:00) [11]

оператор конкатенации ||
т.е. 'Иванов'||' '||'Иван'||' '||'Иванович' = 'Иванов Иван Иванович'


Наверх

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