Test it:
DECLARE @data TABLE (ID INT IDENTITY(1,1), SalesID INT, Qt INT, unit INT)
INSERT INTO @data (SalesID, Qt, unit)
SELECT 1355 AS SalesID, 20 AS Qt, 2500 AS unit
UNION ALL SELECT 1355, 20, 5000
UNION ALL SELECT 1356, 37, 30000
UNION ALL SELECT 1356, 37, 20000
UNION ALL SELECT 1356, 37, 5000
DECLARE @tmp TABLE (RowNo INT, ID INT, SalesID INT, Qt INT, unit INT)
INSERT INTO @tmp (RowNo, SalesID, Qt, unit)
SELECT ROW_NUMBER() OVER(PARTITION BY Qt ORDER BY SalesID) AS RowNo, SalesID, Qt, unit
FROM @data
SELECT PT2.SalesID, SUM(PT4.[Qt1]) AS [Qt1], SUM(PT2.[unit1]) AS [unit1], SUM(PT4.[Qt2]) AS [Qt2], SUM(PT2.[unit2]) AS [unit2],
SUM(PT4.[Qt3]) AS [Qt3], SUM(PT2.[unit3]) AS [unit3]
FROM (
SELECT RowNo, SalesID, [unit1], [unit2], [unit3]
FROM (
SELECT RowNo, SalesID, 'Qt' + CONVERT(VARCHAR(10), RowNo) AS QtDesc, Qt, 'unit' + CONVERT(VARCHAR(10), RowNo) AS UnitDesc, unit AS Unit
FROM @tmp AS T
) AS DT1
PIVOT(MAX(Unit) FOR UnitDesc IN ([unit1], [unit2], [unit3])) AS PT1) AS PT2
LEFT JOIN (
SELECT RowNo, SalesID, [Qt1], [Qt2], [Qt3]
FROM (
SELECT RowNo, SalesID, 'Qt' + CONVERT(VARCHAR(10), RowNo) AS QtDesc, Qt, 'unit' + CONVERT(VARCHAR(10), RowNo) AS UnitDesc, unit AS Unit
FROM @tmp AS T
) AS DT2
PIVOT(MAX(Qt) FOR QtDesc IN ([Qt1], [Qt2], [Qt3])) AS PT3
) AS PT4 ON PT2.RowNo = PT4.RowNo
GROUP BY PT2.SalesID
Output:
1355 57 5000 57 10000 NULL NULL
1356 57 60000 57 40000 37 5000