У меня есть следующие 4 таблицы. Я попытался сделать некоторый PoC (доказательство концепции) для удаления с запросом соединения. Поэтому я попытался удалить строки в таблице «t1» и «mytable» на основе запроса соединения на «table1» и «table2». Запрос на удаление с 't1' и 'mytable' демонстрирует необычное поведение.
Ниже приведен запрос и таблица определение для четырех таблиц:удалить с помощью внутреннего соединения
--query starts here
DELETE mytable
FROM Table2 t1
inner join
Table2 t2 on t1.Col1=t2.col1 -- the query deletes all the rows from mytable
DELETE t1
FROM Table1
inner join
Table2 on table1.Col1=table2.col1 -- the query deletes all the rows from t1
Что вы подразумеваете под «необычным поведением», каков ваш желаемый результат? – Cyclonecode
Я просто экспериментирую с тем, как delete работает с join, поэтому я удаляю из mytable на основе условия соединения в таблице t1 и t2. Но это удаление всех строк в таблице. –
Ну, это не должно быть, если ваша первая таблица имеет отношение ко второй таблице. Возможно, вы должны отредактировать свой вопрос и показать, какие данные находятся в вашей базе данных. – Cyclonecode