Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Как удалить всё из tbl1 чего нет в tbl2


Автор: Гость_Alex0202 11.5.2005, 05:13
Я пробую :
Код

DELETE FROM chat_messages LEFT JOIN online ON chat_messages.toid=online.id OR chat_messages.fromid=online.id  WHERE online.id IS NULL 


.. неработает ж(

...вобщем надо удалить всех тех из "chat_messages" кого нет в "online"
smile

Автор: Secandr 11.5.2005, 16:13
подобные вопросы не раз поднимались.
Сделай это в два запроса. Так проще всего.

Автор: Kesh 11.5.2005, 16:17
Что-то вроде этого...
Код

DELETE FROM chat_messages 
WHERE chat_messages.toid NOT IN 
(SELECT id FROM online)

Автор: Secandr 11.5.2005, 16:20
Kesh которых НЕТ во второй таблице smile

Вложеные запросы уже есть в стабильных версиях?

Автор: Kesh 11.5.2005, 16:20
Упс... Уже исправил... А вложенные запросы по-моему уже в 4.1 есть...

Автор: Secandr 11.5.2005, 16:31
Посмотрел, 4.1 стабильна

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)