Я думаю, вы просто хотите exists
:
insert into myitem (group_id, item_id)
select v.group_id, v.item_id
from (values (group_arg, item_arg)) v(group_id, item_id)
where exists (select 1
from mygroup g
where g.group_id = v.group_id and v.other_id = other_arg
);
Или вы можете использовать select
, если только одна строка в таблице mygroup
должна соответствовать:
insert into myitem (group_id, item_id)
select group_arg, item_arg
from mygroup g
where g.group_id = group_arg and v.other_id = other_arg;
Если возможны дубликаты, вы можете настроить это так:
insert into myitem (group_id, item_id)
select distinct group_arg, item_arg
from mygroup g
where g.group_id = group_arg and g.other_id = other_arg;