У меня есть таблица main с id и sec_id. У меня есть sec_id, и мне нужен идентификатор, чтобы удалить что-то из db.Sql удалить значение из базы данных
DELETE FROM main WHERE id = (get all elements where sec_id is the same)
У меня есть таблица main с id и sec_id. У меня есть sec_id, и мне нужен идентификатор, чтобы удалить что-то из db.Sql удалить значение из базы данных
DELETE FROM main WHERE id = (get all elements where sec_id is the same)
Если я правильно понял ваш вопрос, вы должны просто быть в состоянии удалить на основе sec_id
. Это предполагает, что это часть таблицы.
DELETE FROM main WHERE sec_id = @sec_id
В этом примере @sec_id
является значение соответствующего sec_id
, что вы хотите, чтобы соответствовать
Если это не часть таблицы, но у вас есть другая таблица, которая содержит как, то я вы могли бы использовать что-то вроде :
DELETE FROM main
WHERE EXISTS(SELECT 1 FROM other
WHERE main.id = other.id AND other.sec_id = @sec_id)
и что, если это не часть таблицы? – user2321611
Возможно, вы могли бы показать нам свой стол и то, что вы хотите удалить. – pjd
@ user2321611 Я добавил этот вариант к моему ответу. Трудно дать вам точный ответ, так как вы не предоставляете схему – tvanfosson
Если я хорошо понимал:
DELETE FROM main WHERE id in (SELECT DISTINCT A.id FROM main AS A INNER JOIN main AS B ON A.sec_id=B.sec_id)
delete from main где id = (выберите * from main где sec_id = @sec_id) – user2321611
Когда вы пытаетесь использовать 'ID' = что-то, вы не можете выбрать все поля из таблицы. Это должно быть только поле «ID». –
Так что-то вроде select id из main где sec_id = @sec_id? – user2321611