icavs Ответов: 1

Sql select query с новым результатом столбца


Всем Привет,

Хороший день.

Можете ли вы помочь в том, как достичь результата в SQL select query?


Стол
dID   dName       sdID
1    XYZ Company   0
2    AA dept       1
3    BB dept       1
4    CC dept       1
5    AA.section    2
6    BB.section    3
7    CC.section    4


Ожидаемый результат запроса
dID   dName       sdID     NewColumn
1    XYZ Company   0          
2    AA dept       1      XYZ Company
3    BB dept       1      XYZ Company
4    CC dept       1      XYZ Company
5    AA.section    2      AA dept
6    bb.section    3      BB dept
7    CC.section    4      CC dept 


SdID будет искать dID, а затем соответствующее имя dName отображается в NewColumn.

Что я уже пробовал:

Не могу найти связанный случай в сети.
Заранее спасибо.

1 Ответов

Рейтинг:
4

Manoj Kumar Choubey

Select 

Select 
dID,
dName,
sdID,
'' NewColumn
from [table] where sdID = 0
union all 
Select 
B.dID,
B.dName,
B.sdID,
A.dName  NewColumn
from [table] A
Left outer join [table] B on (A.dID = B.sdID)
Where B.dID IS NOT NULL


icavs

Привет Маной Кумар Чуби,
спасибо, что уделили мне время и ответили на мой вопрос.
Я повторил ваше решение, но получил другой результат.

dID dName sdID dName
NULL NULL NULL XYZ компания
1 XYZ Company 0 AA dept
1 компания XYZ 0 ББ отдел
1 компания XYZ 0 куб. отдел
2 отдел А. А. 1 АА.раздел
3 ББ 1 ББ отдел.раздел
4 CC dept 1 CC.section

Manoj Kumar Choubey

Я улучшил ответ.
В соответствии с требованиями вы можете изменить запрос

icavs

Отлично! Он работает по мере необходимости.
Спасибо @Manoj

Manoj Kumar Choubey

добро пожаловать