Member 14024377 Ответов: 1

Мне нужно отобразить parent_name в одном запросе select


это мой стол.
id   |  Parent_id  |  Category
1    |	0	   | Clothes
2    |	1	   | Women
3    |	2	   | Jewellery
4    |	0	   | Mobiles


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

по запросу select мне нужно отобразить как показано ниже

id   |  Parent_id  |  Category  |  Parent_name
1    |	0	        | Clothes    |  none
2    |	1	        | Women      |  Clothes
3    |	2	        | Jewellery  |  Women
4    |	0	        | Mobiles    |  none

CHill60

И какой запрос вы пытались создать для достижения этих результатов?

ErrorMadness

Ваш стол немного сбивает с толку.

1 Ответов

Рейтинг:
5

Maciej Los

Проверить это:

DECLARE @hierarchy TABLE (id INT IDENTITY(1,1), Parent_id INT, Category NVARCHAR(50))

INSERT INTO @hierarchy (Parent_id, Category)
VALUES(0, 'Clothes'),
(1, 'Women'),
(2, 'Jewellery'),
(0, 'Mobiles')


SELECT a.id, a.Parent_id, a.Category, ISNULL(b.Category, 'none') As Parent_Name
FROM @hierarchy AS a LEFT JOIN @hierarchy AS b ON a.Parent_id = b.id 


Я бы настоятельно рекомендовал прочитать это: Визуальное представление SQL-соединений[^]


Member 14024377

Спасибо

Maciej Los

Всегда пожалуйста.