Как вернуть все строки, которые не совпадают в таблице соединений, и проверить соответствие? - PullRequest
0 голосов
/ 23 мая 2018

Как вернуть все строки таблицы User, когда

1. a row has not any match with join table ex **UserDetails**
2. a row has a match in **UserDetails**, check some condition ex: user location is **IND**

Пример таблицы

     User
     -----------------------
     id   name
     -----------------------
     1    Hearaman
     2    Ramse
     3    Temmy
     4    Robert

     UserDetails
     -----------------------------
     id   user_id     location
     1    3           USA
     2    4           IND

     Expected results
     --------------------------
     id    name        location
     --------------------------
     1     Hearaman    null
     2     Ramse       null
     4     Robert      IND

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете использовать left join и сделать фильтр

select u.id, u.name, ud.location
from User u 
left join UserDetails ud on ud.user_id = u.id 
where ud.user_id is null or 
      ud.location = 'IND';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...