Фильтровать строки на основе строк и условий столбца в sql - PullRequest
0 голосов
/ 24 марта 2020

Мне нужно отфильтровать строки из таблицы, которая похожа на безопасность на уровне строк. У меня есть другая таблица, в которой перечислены уровни доступа для определенных пользователей. При применении фильтра уровня пользователя, где условия основаны на нескольких столбцах.

Первая таблица выглядит следующим образом, в этом списке перечислены пользователи и доступ к TG, для которых потребуется доступ из второй таблицы -

enter image description here

Таким образом, ID 1234 имеет доступ ко всем TG, т. Е. A, B и C. 4321 имеет два TG, то есть B и C

Во второй таблице есть информация об участнике, где каждому участнику назначены Reg и TG -

enter image description here

Таким образом, если в зависимости от состояния введенного идентификатора, выход должен быть ограничен доступом TG и регистром.

Если мы введем идентификатор как 1234, вывод должен быть следующим:

enter image description here

Аналогично, если идентификатор равен 4321, значение должно быть -

enter image description here

1 Ответ

1 голос
/ 24 марта 2020
SELECT *
FROM table1 t1
JOIN table2 t2 ON t2.tg IN (t1.tg1, t1.tg2, t1.tg3)
              AND t1.reg = t2.reg
-- WHERE t1.it = 1234
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...