![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Объединение 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]оператор конкатенации ||
т.е. 'Иванов'||' '||'Иван'||' '||'Иванович' = 'Иванов Иван Иванович'