powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Простой вопрос для профессионала(запрос)
4 сообщений из 4, страница 1 из 1
Простой вопрос для профессионала(запрос)
    #32057699
alexu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две таблицы:
В первой - люди и права доступа к объектам (у одного человека несколько прав)
Во второй - объекты и права доступа, которые должен иметь человек, чтобы получить доступ к данному объекту.
Надо получить таблицу людей и объектов, к которым они имеют доступ

Как получить такую таблицу?
...
Рейтинг: 0 / 0
Простой вопрос для профессионала(запрос)
    #32057983
Trong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или я чего-то не понял, или вот так:
Код: plaintext
1.
2.
3.
4.
select t1.PersonId, t2.ObjectId
from
  t1 inner join t2
  on (t1.flag1 = t2.flag1) and (t1.flag2 = t2.flag2)
...
Рейтинг: 0 / 0
Простой вопрос для профессионала(запрос)
    #32058005
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет. Не знаю, какой у тебя сервер и насколько в нём развит SQL. Я работаю с IB и SQL там не очень мощный и запрос я тебе написал извращённый, но там, где есть операторы типа MINUS, конструкцию можно упростить, наверное :). Запрос основан на том, что есть таблицы USERS_PR и OBJECTS_PR, где поля PRIVILEGE содержат привилегии, поле OBJECTS_PR.OBJEC - имя объекта, поле USERS_PR.NAME - имя пользователя и связь многие ко многим через поля PRIVILEGE:
Код: plaintext
1.
2.
SELECT DISTINCT U.NAME,O.OBJECT FROM USERS_PR U,OBJECTS_PR O
  WHERE NOT EXISTS(SELECT * FROM OBJECTS_PR O1 WHERE O1.OBJECT=O.OBJECT AND
  O1.PRIVILEGE NOT IN(SELECT U1.PRIVILEGE FROM USERS_PR U1 WHERE U1.NAME=U.NAME))
...
Рейтинг: 0 / 0
Простой вопрос для профессионала(запрос)
    #32058086
alexu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Trong.
Ты действительно не понял. Это мой касяк, я плохо объяснил. Кстати на форуме MS sql server там в "помогите сформировать запрос" мне доходчиво все объяснили. Кстати там все началось с такого же ответа как твой. :-)

Всем СПА!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Простой вопрос для профессионала(запрос)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]