IF (OBJECT_ID('tempdb..#t1') IS NOT NULL) DROP TABLE #t1

declare @select_table nvarchar(4000)
declare @company varchar(250)

create table #t1 (product VARCHAR(max), company VARCHAR(250))
insert into #t1 values('Двухслойные коврики', 'Комания1')
insert into #t1 values('Двухслойные коврики', 'Комания4')
insert into #t1 values('Коврики', 'Комания1')
insert into #t1 values('Коврики', 'Комания5')
insert into #t1 values('Коврики', 'Комания6')
insert into #t1 values('Зеркало заднего вида', 'Комания2')
insert into #t1 values('Тормозные колодки', 'Комания3')
insert into #t1 values('Тормозные колодки', 'Комания6')

select * from #t1

-----------------------------------------------------разворот таблицы-----------
set @select_table = 'select distinct t.product '
DECLARE c_vendor CURSOR FOR SELECT distinct company FROM #t1
  OPEN c_vendor
	FETCH NEXT FROM c_vendor INTO @company
	  WHILE @@FETCH_STATUS = 0
		BEGIN
		  set @select_table = @select_table +' , ' + '[' + @company + ']=' +' (select 1 from #t1 c where c.product = t.product and c.company = ' + ''''+ @company +'''' +')'
  		  FETCH NEXT FROM c_vendor INTO @company
		END
CLOSE c_vendor
DEALLOCATE c_vendor

set @select_table = @select_table + 'from #t1 t order by t.product
'
exec (@select_table)

IF (OBJECT_ID('tempdb..#t1') IS NOT NULL) DROP TABLE #t1

Начальная таблица

product	                 company
Двухслойные коврики	Комания1
Двухслойные коврики	Комания4
Коврики	                Комания1
Коврики	                Комания5
Коврики	                Комания6
Зеркало заднего вида	Комания2
Тормозные колодки	Комания3
Тормозные колодки	Комания6

Результат

product			Комания1	Комания2	Комания3	Комания4	Комания5	Комания6
Двухслойные коврики	1		NULL		NULL		1		NULL		NULL
Зеркало заднего вида	NULL		1		NULL		NULL		NULL		NULL
Коврики			1		NULL		NULL		NULL		1		1
Тормозные колодки	NULL		NULL		1		NULL		NULL		1