Удалить из таблицы на основе результата подзапроса

#sql #subquery #sql-delete

Вопрос:

Это показывает ошибку как:

ошибка 1241:операнд должен содержать 1 столбец(ы)

 DELETE FROM invoices
WHERE CLIENT_ID = (
                    SELECT * FROM  CLIENTS
                    WHERE state="OR"
    )
 

Комментарии:

1. он показывает ошибку как ошибку 1241:операнд должен содержать 1 столбец(ы)

Ответ №1:

попробуйте это

 DELETE FROM invoices WHERE CLIENT_ID = ( SELECT CLIENT_ID FROM CLIENTS WHERE state="OR" )
 

предложение where в вашем случае не совпадает с результатом, заданным в подзапросе. Вы выбираете * (все столбцы), вам нужно выбрать столбец, который вы пытаетесь сопоставить в предложении where