Я работаю с тремя таблицами, и для простоты назовем их таблицами A, B и C. Обе таблицы A и B имеют столбец с именем id, а также еще один столбец, Aattribute и Battribute, соответственно. Столбец c также имеет столбец id и два других столбца, которые содержат значения для A.id и B.id. Теперь в моем коде у меня есть легкий доступ к значениям как для Aattribute, так и для Battribute, и я хочу удалить строку в C, поэтому эффективно я хочу сделать что-то вроде этого:
DELETE FROM C WHERE aid=(SELECT id FROM A WHERE Aattribute='myvalue') AND bid=(SELECT id FROM B WHERE Battribute='myothervalue')
Но это, очевидно, не работает. Есть ли способ сделать один сложный запрос, или мне нужно выполнить три запроса, где я сначала получаю значение A.id, используя SELECT с «myvalue», затем то же самое для B.id, затем использую те в последний запрос?
[Изменить: это не позволяет мне комментировать, поэтому в ответ на первый комментарий по этому поводу: я попробовал вышеуказанный запрос, и он не работал, я подумал, что он просто не был синтаксически правильным. Использование MS Access, для чего это стоит. ]