Мне нужно удалить несколько записей, которые соответствуют двум столбцам, вычисленным с помощью подзапроса.
Я правильно вижу их с помощью этого запроса:
select * from user_assignments as ua,
(
select user_assignments.user_id as uid,
job_selection as jid
from user_assignments
join job_selections on job_id = jobs.id
join data on job_selections.data_id = data.id
where data.my_column IS NULL
) as sq
where sq.uid = ua.user_id AND ua.job_selection_id = sq.jid;
Это работает, и я вижу7 назначений, которые я хочу удалить.
Однако удалить не так просто, как изменить SELECT на DELETE ...
Если я сделаю:
delete from user_assignments as ua,
(
...
) as sq
where sq.uid = ua.user_id AND sq.jid = ua.job_selection_id;
Я получу:
ERROR: syntax error at or near ","
Я перепробовал целый ряд комбинаций, но не могу заставить его работать.Я думаю, это должно быть довольно просто, но я новичок в SQL.
По сути, у меня есть подзапрос, который правильно создает два столбца, которые я могу использовать для SELECT FROM user_assignments
, и теперь я хочу DELETE FROM user_assignments
записей, которые, как я знаю, я могу ВЫБРАТЬ.
ЛюбойПодсказки будут очень признательны.Заранее спасибо.