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

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

Как перегнать таблицу в новый формат


pietro ©   (2005-01-13 12:14:00) 

Ребят, есть такая проблема:
есть таблица tabl1 с полями:
id_building (integer not null) идентификационный номер
floor_from  (integer)
floor_to    (integer)
price       (integer)

нужно получить таблицу tabl2 с полями:
id_squere   (integer not null) идентификационный номер
floor       (integer)
price       (integer)
id_building (integer)

задача состоит в том чтобы разделить одну запись из таблицы tabl1 на две записи в tabl2 если поля floor_from и floor_to заполнены и не равны друг другу.


ЮЮ   (2005-01-13 12:54:00) [1]

Значит надо создать генератор для этого поля, написать триггер и получишь "автоинкремент", тогда можно будет вставлять и не указывая значения


pietro   (2005-01-13 12:51:00) [2]

а, понял :) interbase


ЮЮ   (2005-01-13 12:47:00) [3]

>в смысле какая?
Paradox, Access, Interbase, MS SQL, etc.


pietro   (2005-01-13 12:45:00) [4]

в смысле какая?


ЮЮ   (2005-01-13 12:43:00) [5]

скорее это тип.
P.P.S. Какая база данных?


pietro   (2005-01-13 12:41:00) [6]

спасибо, а автоинкемент это свойство поля?


ЮЮ   (2005-01-13 12:32:00) [7]

если автоинкемент, то да.
З.Ы. Какая база данных?


pietro   (2005-01-13 12:28:00) [8]

извиняюсь за ламерство, а id_square само будет проставляться.
надеюсь исправиться (в плане ламерства 8)


ЮЮ   (2005-01-13 12:22:00) [9]

FROM SELECT ... следует читать как SELECT ... FROM table1 :)


ЮЮ   (2005-01-13 12:20:00) [10]

INSERT INTO Table2(floor, price, id_building)
FROM SELECT floor_from, price, id_building WHERE
 NOT (floor_from IS NULL) AND NOT (floor_to IS NULL) AND (floor_from <> floor_to);

INSERT INTO Table2(floor, price, id_building)
FROM SELECT floor_to, price, id_building WHERE
 NOT (floor_from IS NULL) AND NOT (floor_to IS NULL) AND (floor_from <> floor_to)


msguns   (2005-01-13 12:17:00) [11]

Три запроса:
1. CREATE TABL2..
2. INSERT INTO TABL2 ...
  SELECT FROM TABL1... WHERE <Условие)
3. INSERT INTO TABL2 ...
  SELECT FROM TABL1... WHERE NOT <Условие)


Наверх

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