я имею упрощенную таблицу, как это (table1):Удаление строк в таблице на основе значений в другой таблице
id | note
----------------------------------
1 | some note
2 | some note
3 | another note
4 | some note
и еще один (table2):
id | note
----------------------------------
1 | some note
2 | another note
3 | some note
4 | another note
на основе кода из table1 Я хочу удалить строки из таблицы2, где table1.note равно table2.note.
Если я предоставляю id3 таблицы tabel1, строки с идентификаторами 2 и 4 таблицы2 должны быть удалены.
Я пробовал:
DELETE FROM table2
JOIN table1 WHERE id = ?
WHERE table1.note = table2.note
Но я получаю "ER_PARSE_ERROR".
Каков правильный синтаксис mysql?
Thx, это работает, не могли бы вы объяснить, что означает «T2» в первой строке? Их можно опустить? При поиске в Интернете я нахожу только примеры с простыми операциями «DELETE FROM table». То же самое касается T1. – Hans
@ Указывает имя псевдонима, так что вам не нужно использовать полное имя таблицы для обозначения имени столбца, здесь столбец примечаний одинаковый в двух таблицах, поэтому вам нужно указать имя таблицы или имя псевдонима таблицы. – radar
Не могли бы вы показать, как написать его без псевдонима? Я не понимаю, почему псевдоним двойной в первой строке. – Hans