Присоединиться к таблице, чтобы найти пропущенную запись? - PullRequest
0 голосов
/ 01 февраля 2020

Image of tables

Как бы я структурировал запрос, чтобы объединить эти две таблицы таким образом, чтобы он возвращал выделенную запись. Я хочу вернуть записи, в которых нет записи в таблице «Пользователь / группа», которая связывает пользователя и группу в заявке.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 01 февраля 2020

Попробуйте это -

 SELECT * 
FROM   tickets t 
       LEFT JOIN USER u 
              ON ( t.USER = u.USER 
                   AND t.group = u.group 
                   AND u.USER IS NULL ) 
0 голосов
/ 01 февраля 2020

Это в значительной степени определение "анти-объединения":

select t.*
from tickets t
left join usergroup u on u.user = t.assignedto
where u.user is null
0 голосов
/ 01 февраля 2020

Вы можете использовать анти-левое объединение:

select t.*
from tickets
left join user_groups g
    on g.user = t.assigned_to
    and g.group = t.assigned_group
where g.user is null

Вы также можете express это с not exists:

select t.*
from tickets t
where not exists (
    select 1 
    from user_group g
    where
        g.user = t.assigned_to
        and g.group = t.assigned_group
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...