Форум: "Базы";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];
ВнизSQL-запрос на удаление записей Найти похожие ветки
← →
Nikolai_S (2003-11-28 10:09) [0]Доброго времени суток!
У меня такой вопрос. Как составить SQL-запрос на удаление записей из заданной таблицы в базе данных MS Access 2000, если необходимо наложить на поля в других связанных таблицах через JOIN?
Пишу такой запрос (нужно удалить записи из табицы T1):
DELETE T1.*
FROM T1 LEFT JOIN T2 ON (T1.F1=T2.F1) AND (T1.F2=T2.F2)
WHERE T2.F1 IS NULL
Выдается ошибка "Невозможно удаление записей из указанных таблиц".
Вообще данный запрос должен удалять те записи из T1, у которых нет записей в T2 с совпадающими значениями в полях F1 и F2
← →
Alex_Bredin (2003-11-28 10:20) [1]
> Вообще данный запрос должен удалять те записи из T1, у которых
> нет записей в T2 с совпадающими значениями в полях F1 и
> F2
в лоб
DELETE FROM T1
WHERE (T1.F1 NOT IN(SELECT F1 FROM T2)) AND
(T1.F2 NOT IN(SELECT F2 FROM T2))
тока очень долго это..
← →
Johnmen (2003-11-28 10:23) [2]Примерно так
DELETE FROM T1
WHERE EXIST (SELECT * FROM T1
LEFT JOIN T2 ON (T1.F1=T2.F1) AND (T1.F2=T2.F2)
WHERE T2.F1 IS NULL)
← →
asp (2003-11-28 10:25) [3]Может,
DELETE FROM TABLE1 T1
WHERE NOT(EXISTS(SELECT T2.F1 FROM TABLE2 T2 WHERE T2.F1 = T1.F1 AND T2.F2 = T1.F2))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.016 c