Соединение SQL с другой таблицей приводит к дублированию записей - PullRequest
0 голосов
/ 01 июня 2019

Я пытаюсь объединить два стола.

Таблица A:

RowID   Name        Active
4       Bangalore   1

Таблица B:

Sno  RowID  Type     Stores      Active
1    4      Legal    Center-A    1
2    4      Trade    Center-A01  1
3    5      Trade    Center-B    1

Здесь RowID - это внешний ключ для таблицы А. Если Тип является Правовым, то LegalName должно быть Center_A и Если типом является Trade, то TradeName должно быть Center_A01

Это то, что я пытался, но я получаю две строки, одну для Legal и другую для Trade Type.

Name        Type      LegalName  TradeName   
Bangalore   Legal     Center-A   Center-A01
Bangalore   Trade     Center-A   Center-A01

Что мне действительно нужно, это что-то вроде ниже

 Name        LegalName  TradeName   
 Bangalore   Center-A   Center-A01

Нужно ли использовать CASE в этом случае? Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 01 июня 2019

Для этого вы можете сделать 2 соединения, одно для trade и второе для legal.

select
     a.[Name]
    ,legal.[Stores] as LegalName
    ,trade.[Stores] as TradeName
from TableA a
join TableB trade
    on a.RowID = trade.RowID
    and trade.[Type] = 'Legal'
join TableB legal
    on a.RowID = legal.RowID
    and trade.[Type] = 'Trade'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...