Проверка всех FK в базе данных SQL Server 2019, которые существуют в других таблицах
У меня есть таблица с этими столбцами:
MyTableId: int
Results: varchar(200)
И у меня есть еще одна таблица под названием
Users
:
UserId: int
Username: varchar(200)
MyTableId: int
Я убираю
MyTable
и у меня есть несколько результатов, которые теперь говорят «Плохие данные». Я хочу получить список всех MyTableIds, которые имеют в качестве результата «недопустимые данные», и посмотреть, являются ли они одним из этих идентификаторов в
User
Таблица.
Я открыт для любых предложений по этому поводу.
Пример данных выглядит так:
MyTable
MyTableId (PK) Results
1 The quick fox is fast
2 Bad Data - another piece of very bad data
3 Humpty dumpty sits on the wall
4 Hello this is a sample
5 Bad Data - this data is bad
Users
UserId (PK) Username MyTableId (FK)
1 User1 1
2 User2 2
3 User3 3
4 User4 1
5 User5 5
6 User6 2
По сути, мне нужно удалить плохие данные в MyTable примерно так:
DELETEROM MyTable WHERE Results LIKE 'Bad Data%';
Это не сработает, потому что мне нужен сценарий, который сначала удаляет данные FK в таблице Users. Мне нужно, чтобы он был динамичным, так как это всего лишь образец данных.