LINUX.ORG.RU

составить «простой» SQL запрос


0

0

помогите составить запрос (прада, есть подозрения что такое сделать нельзя). использую postgresql 8.0.
есть таблица "a":

create table a (
id integer, 
var varchar(20));

и таблица "b":

create table b (
id_a integer, 
value varchar(20));

далее, делаем:
insert into a (id, var) values (1, 'int');
insert into a (id, var) values (2, 'int');
insert into a (id, var) values (3, 'int');
insert into a (id, var) values (4, 'string');

а вот теперь и сам вопрос: как мне одним sql запросом сдлеать типа такого:

insert into b (value, id_a) 
values ('ten', ( select id
                 from a
                 where var = 'int' ));

проблема в том,что подзапрос возвражает более одного значения. вот в
 этом и прикол - мне как бы надо для каждого такого значения таблицы 
"a" вызвать такой запрос вставки в таблицу "b". Т.е., если в таблице 
"a" будет одна запись, с полем var равным 'int', то этот  запрос 
выполнится.
сталкивался кто-то с этим. вопрос в том, что мне это надо сделать 
одним sql запросом... но я подозреваю, что это нельзя.

А с каких пор вот такой запрос

insert into b(id_a,value) select id,'ten' from a

перестал работать? Это ANSI SQL, его знать надо.

no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.