Проверка всех 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. Мне нужно, чтобы он был динамичным, так как это всего лишь образец данных.

0 ответов

Другие вопросы по тегам