Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 PIVOT, для каждого товара показать атрибуты  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Нужно для каждого товара показать атрибут т.е. признак 0- нет, или есть

DECLARE @table TABLE (psa_ProductID INT, psa_AttributeID INT)

INSERT INTO @table values(12,20)
INSERT INTO @table values(12,18)
INSERT INTO @table values(12,13)
INSERT INTO @table values(12,14)
INSERT INTO @table values(13,20)
INSERT INTO @table values(13,14)

--SELECT * FROM @table

SELECT * 
FROM
(SELECT psa_ProductID, psa_AttributeID
 FROM @table
 WHERE psa_ProductID =12
) tt
PIVOT(
	COUNT(psa_ProductID) FOR psa_AttributeID IN ([10], [14], [18],[20], [22], [24])
) AS pvt
Все получилось как нужно. Не знаю как добавить столбец с id товара, в начало?
Чтобы для каждого товара показывались признаки ( WHERE psa_ProductID =12 нужно убрать)
6 окт 11, 17:43    [11396971]     Ответить | Цитировать Сообщить модератору
 Re: PIVOT, для каждого товара показать атрибуты  [new]
iljy
Member

Откуда:
Сообщений: 8711
trew,

select * from @table 
pivot(count(psa_AttributeID) FOR
	 psa_AttributeID IN ([10], [14], [18],[20], [22], [24]))p
6 окт 11, 17:51    [11397049]     Ответить | Цитировать Сообщить модератору
 Re: PIVOT, для каждого товара показать атрибуты  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
iljy,

Большое спасибо!
6 окт 11, 18:01    [11397132]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить