Оператор удаления работает, но не удаляет строки - PullRequest
1 голос
/ 19 марта 2020

Я хочу сделать оператор удаления, в котором я хочу удалить некоторые статьи из другой выбранной таблицы. Я создал инструкцию, но когда я ее запускаю, она ничего не удаляет. Он запущен, но строки не удалены.

delete from article  where (client_id, art_no) in ( select art_no, client_id from art_del as A 
inner join (select distinct client_id from article) as D on a.cliend_id = d.client_id 
where label not in (0,-1));

Данные в предложении where выглядят хорошо, но когда я выполняю удаление, они не удаляются.

1 Ответ

2 голосов
/ 19 марта 2020

Предложение where:

where (client_id, art_no)

, поэтому пара имеет 1-й client_id, а затем art_no, но в подзапросе порядок отличается enet:

select art_no, client_id

Изменить на:

delete from article  
where (client_id, art_no) in ( 
  select client_id, art_no
  from art_del as A inner join (
    select distinct client_id 
    from article
  ) as D on a.cliend_id = d.client_id 
  where label not in (0,-1)
);
...