Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-62080
Марат
2003-12-09 09:13
2003.12.19
Очистка DBLookupComboBox


3-61962
Unk
2003-11-26 13:20
2003.12.19
DBGrid


4-62323
Санек
2003-10-24 13:15
2003.12.19
Прозрачность компонента. Возможно ли это?


14-62215
Вадим
2003-11-25 23:33
2003.12.19
DrWeb утверждает, что я написал вирус


1-62114
III
2003-12-08 13:23
2003.12.19
DLL+RunTime+Visual Components




   Наверх