Russian Qt Forum
Ноябрь 22, 2024, 22:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: PostgreSQL 7 связь таблиц в базе  (Прочитано 7067 раз)
Martiro
Гость
« : Май 23, 2007, 09:39 »

Существует две таблицы:
Код:
      Table "TBL_1"
   Attribute   | Type    |
---------------+----------
tbl_1_numb     |  int    |   -- сквозная нумерация
tbl_1_id       |  int    |
tbl_1_ins      |  text   |

и
Код:
      Table "TBL_2"
   Attribute   | Type    |
---------------+----------
tbl_2_numb     |  int    |    -- сквозная нумерация
tbl_2_txt      |  text   |

Подскажите, как осуществить такой запрос, чтобы значения поля tbl_2_txt были перенесены в поле tbl_1_ins с тем учётом, что tbl_1_id соответствует tbl_2_numb.
Записан
Вудруф
Гость
« Ответ #1 : Май 23, 2007, 11:04 »

update tbl_1 as t1
set
  tbl_1_ins = (select tbl_2_txt from tbl_2 where tbl_2_numb = t1.tbl_1_id)
where ...
Записан
Martiro
Гость
« Ответ #2 : Май 23, 2007, 12:41 »

Вудруф, спасибо большое!
В моём случае оператор as не прошёл, сделал так:
Код:
update tbl_1
set
tbl_1_ins = (select tbl_2_txt from tbl_2 where tbl_2_numb = tbl_1.tbl_1_id);
Записан
Вудруф
Гость
« Ответ #3 : Май 24, 2007, 08:43 »

Пардон, as нужно для псевдонимов столбцов при выборке.
Нужно просто:
Код:
update tbl_1 t1...
В любом случае использование псевдонимов предпочтительно. Во-первых они короче, во-вторых это единственный вариант при использовании в запросе одной таблицы дважды.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 21.