Oracle уникальная запись поиска - PullRequest
0 голосов
/ 11 мая 2018

Имея ниже три таблицы, как описано:

SELECT * FROM Users;

UserID    UserName
1          Ramesh
2          Suresh


SELECT * FROM UserAddress;

UserAddressID    UserID     Address   
1                  1          South St
2                  1          North St
3                  2          New St

SELECT * FROM UserDegree;

UserDegreeID      UserID      Degree
1                  1            BSC
2                  2            B.Tech
3                  2            M.Tech

Мне нужен вывод, как указано ниже,

UserID  UserName  UserAddressID   UserID   Address  UserDegreeID  UserID  Degree
1        Ramesh     1               1     South St    1            1       BSC
NULL      NULL      2               1     North St    NULL         NULL    NULL
2        Suresh     3               2     New St      2            2      B.Tech
NULL      NULL      NULL           NULL   NULL        3            2      M.Tech

Может кто-нибудь помочь мне получить этот вывод без использования зацикливания?

1 Ответ

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

Вот SQL, который объединен во всех ваших трех таблицах, с надеждой решите вашу проблему.

select  u.userid,
    u.username,
    a.useraddressid,
    a.userid as userid2,
    a.address,
    d.userdegreeid,
    d.userid as userid3,
    d.degree
from users u
     join useraddress a on (u.userid = a.userid)
     join userdegree d on (u.userid = d.userid);

Здесь, при присоединении SQL к полю «Идентификатор пользователя», поэтому не нужно выбирать «идентификатор пользователя» из всех таблиц, это будут одинаковые записи. Итак, где бы вы ни хотели использовать этот «идентификатор пользователя», вы можете ссылаться на тот же «идентификатор пользователя» в приложении. В SQL ниже я удалил «идентификатор пользователя», который повторяется.

select  u.userid,
    u.username,
    a.useraddressid,
    a.address,
    d.userdegreeid,
    d.degree
from users u
     join useraddress a on (u.userid = a.userid)
     join userdegree d on (u.userid = d.userid);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...