Программа iNETsHOP - обработка, сравнение, анализ прайс листов поставщиков, создание каталога товаров интернет магазина Форум - Программа iNETsHOP - Работа с программой - Работа с группой характеристик


http://inetshop.in.ua/index.php?p=showtopic&toid=150&area=1&high=&pp=15&page=1&print_post=569
08.06.2010 16:53

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Объединение характеристик по наименованию
Объединить характеристики в Вашем случае можно вот таким SQL-запросом. Выполнить его можно например в SQL Query Analizer

Код

DECLARE @PID int, @PNAME varchar(500);
DECLARE cP CURSOR LOCAL FOR
select P_NAME from
(
select 1 as cnt, RTRIM(LTRIM(P_NAME)) as P_NAME from TBL_PROPS
) t
group by P_NAME
having sum(cnt) > 1;

OPEN cP;
FETCH NEXT FROM cP INTO @PNAME;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
SET @PID = (SELECT TOP 1 P_ID FROM TBL_PROPS WHERE LTRIM(RTRIM(P_NAME)) = @PNAME);
UPDATE TBL_GOODS_PROPS
SET GP_P_ID = @PID
WHERE GP_P_ID IN (SELECT P_ID FROM TBL_PROPS WHERE LTRIM(RTRIM(P_NAME)) = @PNAME AND P_ID <> @PID);

DELETE FROM TBL_PROPS
WHERE LTRIM(RTRIM(P_NAME)) = @PNAME AND P_ID <> @PID;

FETCH NEXT FROM cP INTO @PNAME;
END;
CLOSE cP;
DEALLOCATE cP;


Не забудьте на всякий случай сделать резервную копию базы данных!