Как объединить результат двух таблиц, чтобы получить желаемый результат - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть две таблицы LeftTable и RightTable с соответствующими данными.

LeftTable

loginid                                            position   level
-------------------------------------------------- ---------- -----------
9972                                               L          1
9973                                               L          1
9974                                               L          2
9975                                               L          2
9976                                               L          2

RightTable

loginid                                            position   level
-------------------------------------------------- ---------- -----------
9977                                               R          1
9978                                               R          1
9979                                               R          2

Я пробовал следующий запрос

SELECT 
  CASE 
    WHEN LT.loginid > RT.loginid THEN LT.loginid 
    ELSE RT.loginid 
  END LoginID,
  LT.level
FROM #LeftTable LT 
INNER JOIN #RightTable RT ON LT.level = RT.level 

и получил результат

LoginID                                            level
-------------------------------------------------- -----------
9977                                               1
9977                                               1
9978                                               1
9978                                               1
9979                                               2
9979                                               2
9979                                               2

Но я хочу такой результат.

loginid                       level
---------------------------- -----------
9977                              1
9978                              1
9979                              2

Примечание - Здесь Loginid - это MAX, а не RightTable

Результат основан на каждой записи в правой таблице и также присутствует в левой таблице на основе уровень , т.е. если три записи присутствуют в lefttable , но в righttable тамэто только запись на уровне 2, то он должен вернуть только одну запись или наоборот.LoginId будет больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...