DELETE FROM ... WHERE другая таблица |
Здравствуйте, гость ( Вход | Регистрация )
DELETE FROM ... WHERE другая таблица |
Rosster |
20.6.2011, 12:40
Сообщение
#1
|
Студент Группа: Участник Сообщений: 33 Регистрация: 23.11.2009 Пользователь №: 1254 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет. В PostgreSQL может реализоваться следующий запрос:
UPDATE table1 FROM table2 WHERE table1.is=table2.id А как сделать тоже самое,только с DELETE? Все прогуглил так и не нашел ответа. При запросе: DELETE FROM table1 WHERE table1.is=table2.id выдает ошибку: "ERROR: missing FROM-clause entry for table "table2" Кто знает как решить эту проблему? спасибо |
|
|
Iron Bug |
20.6.2011, 13:38
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
в стандартном SQL (без расширений) такие задачи решаются через JOIN.
у меня нет тут базы, но примерно так будет выглядеть: delete from table1 T1 left join table2 T2 on T1.field1=T2.field2 where T2.field3=.... есть левые и правые, а также полные джойны. про них можно почитать отдельно, от этого зависит то, как будет строиться соответствие. |
|
|
panter_dsd |
20.6.2011, 14:08
Сообщение
#3
|
Жаждущий знаний Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: 3 |
Можно еще через EXISTS.
|
|
|
Текстовая версия | Сейчас: 25.11.2024, 1:45 |