If you do like this then you will get wrong data
DECLARE @Test TABLE (Id INT, Category VARCHAR(5), ArticleTiltle VARCHAR(5), Article_Description VARCHAR(5))
INSERT INTO @Test VALUES(1,'A','abc','test')
INSERT INTO @Test VALUES(2,'B','bcx','test1')
INSERT INTO @Test VALUES(3,'A','awm','test3')
INSERT INTO @Test VALUES(4,'C','ccc','test3')
SELECT Category FROM @Test
UNION
SELECT '- ' + ArticleTiltle FROM @Test
Category
- abc
- awm
- bcx
- ccc
A
B
C
So you need to use some Temp Table or CTE ( Common Table Expression ).
SQL:
DECLARE @Test TABLE (Id INT, Category VARCHAR(5), ArticleTiltle VARCHAR(5), Article_Description VARCHAR(5))
INSERT INTO @Test VALUES(1,'A','abc','test')
INSERT INTO @Test VALUES(2,'B','bcx','test1')
INSERT INTO @Test VALUES(3,'A','awm','test3')
INSERT INTO @Test VALUES(4,'C','ccc','test3')
;with CTETemp as (
SELECT Category FROM @Test
UNION
SELECT ArticleTiltle FROM @Test
)
SELECT
CASE WHEN LEN(Category) <> 1 THEN '- '+ Category
ELSE Category
END AS Category
FROM CTETemp
Output
Category
A
- abc
- awm
B
- bcx
C
- ccc