Как объединить две таблицы в запросе SQL без повторения - PullRequest
2 голосов
/ 15 декабря 2011
User_Master (ID is Primary Key   identity)

ID      Name    Age      Gender
1       James   25       Male
2       John    30       Male

User_Image (User_Id is foreign key from User_Master)

ID     User_Id   Thumbnail
1         2       ABC.Jpeg
2         2       AB.jpeg

Мне нужно получить все поля из User_Master и одну миниатюру имени выбранного пользователя из User_Image таблицы

Как это:

User_Id    Name         Age      Gender Thumbnail
1          James        25       Male   null
2          John         30       Male   ABC.Jpeg

1 Ответ

3 голосов
/ 15 декабря 2011

Один способ, при условии, что вам нужно изображение с наименьшим идентификатором, поскольку существует несколько вариантов;

select 
    id, name, age, gender, thumbnail 
from (
    select
        rank() over (partition by m.id order by i.id asc) as rank,
        m.id,
        name, 
        age, 
        gender, 
        thumbnail
    from
        User_Master m left join User_Image i on (i.user_id = m.id)
) t where rank = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...