Using the Text to DDL tab at http://sqlfiddle.com to generate consumable test data:
CREATE TABLE #t
("Name" varchar(4), "Country" varchar(6), "Type of sale" varchar(11), "Title" varchar(15), "Subtitle" varchar(7), "Description" varchar(17))
;
INSERT INTO #t
("Name", "Country", "Type of sale", "Title", "Subtitle", "Description")
VALUES
('Book', 'France', 'Bookstore', 'Harry Potter FR', 'Livre 1', 'Version Classique'),
('Book', 'France', 'Bookstore', 'Harry Potter FR', 'Livre 1', 'Collector Version'),
('Book', 'France', 'Bookstore', 'Harry Potter FR', 'Livre 2', 'Version Classique'),
('Book', 'France', 'Bookstore', 'Harry Potter FR', 'Livre 2', 'Collector Version'),
('Book', 'France', 'Supermarket', 'Harry Potter FR', 'Livre 1', 'Version Classique'),
('Book', 'France', 'Supermarket', 'Harry Potter FR', 'Livre 1', 'Collector Version'),
('Book', 'France', 'Supermarket', 'Harry Potter FR', 'Livre 2', 'Version Classique'),
('Book', 'France', 'Supermarket', 'Harry Potter FR', 'Livre 2', 'Collector Version'),
('Book', 'France', 'Online', 'Harry Potter FR', 'Livre 1', 'Version Classique'),
('Book', 'France', 'Online', 'Harry Potter FR', 'Livre 1', 'Collector Version'),
('Book', 'France', 'Online', 'Harry Potter FR', 'Livre 2', 'Version Classique'),
('Book', 'France', 'Online', 'Harry Potter FR', 'Livre 2', 'Collector Version'),
('Book', 'France', 'Fair', 'Harry Potter FR', 'Livre 1', 'Version Classique'),
('Book', 'France', 'Fair', 'Harry Potter FR', 'Livre 1', 'Collector Version'),
('Book', 'France', 'Fair', 'Harry Potter FR', 'Livre 2', 'Version Classique'),
('Book', 'France', 'Fair', 'Harry Potter FR', 'Livre 2', 'Collector Version'),
('Book', 'UK', 'Bookstore', 'Harry Potter GB', 'Book 1', 'Version Collector'),
('Book', 'UK', 'Bookstore', 'Harry Potter GB', 'Book 1', 'Classical version'),
('Book', 'UK', 'Bookstore', 'Harry Potter GB', 'Book 2', 'Version Collector'),
('Book', 'UK', 'Bookstore', 'Harry Potter GB', 'Book 2', 'Classical version'),
('Book', 'UK', 'Supermarket', 'Harry Potter GB', 'Book 1', 'Version Collector'),
('Book', 'UK', 'Supermarket', 'Harry Potter GB', 'Book 1', 'Classical version'),
('Book', 'UK', 'Supermarket', 'Harry Potter GB', 'Book 2', 'Version Collector'),
('Book', 'UK', 'Supermarket', 'Harry Potter GB', 'Book 2', 'Classical version'),
('Book', 'UK', 'Online', 'Harry Potter GB', 'Book 1', 'Version Collector'),
('Book', 'UK', 'Online', 'Harry Potter GB', 'Book 1', 'Classical version'),
('Book', 'UK', 'Online', 'Harry Potter GB', 'Book 2', 'Version Collector'),
('Book', 'UK', 'Online', 'Harry Potter GB', 'Book 2', 'Classical version'),
('Book', 'UK', 'Fair', 'Harry Potter GB', 'Book 1', 'Version Collector'),
('Book', 'UK', 'Fair', 'Harry Potter GB', 'Book 1', 'Classical version'),
('Book', 'UK', 'Fair', 'Harry Potter GB', 'Book 2', 'Version Collector'),
('Book', 'UK', 'Fair', 'Harry Potter GB', 'Book 2', 'Classical version')
;
Your data does not correspond to the results (Collector Version/Version Collector) but something like the following may get you started:
WITH OrderNums
AS
(
SELECT [Name], Country, [Type of sale], Title, Subtitle, [Description]
,DENSE_RANK() OVER (PARTITION BY [Name], Country, [Type of sale], Title ORDER BY Subtitle) AS SubTitleNum
,ROW_NUMBER() OVER (PARTITION BY [Name], Country, [Type of sale], Title, Subtitle ORDER BY [Description]) AS DescNum
FROM #t
)
SELECT [Name], Country, [Type of sale], Title
,MAX(CASE WHEN SubTitleNum = 1 THEN Subtitle ELSE '' END) AS Subtitle1
,MAX(CASE WHEN SubTitleNum = 2 THEN Subtitle ELSE '' END) AS Subtitle2
,MAX(CASE WHEN DescNum = 1 THEN [Description] ELSE '' END) AS Description1
,MAX(CASE WHEN DescNum = 2 THEN [Description] ELSE '' END) AS Description2
FROM OrderNums
GROUP BY [Name], Country, [Type of sale], Title;