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

Откуда: ни: возьмись.
Сообщений: 1601
Скудные оформительские возможности форума вынудили меня разместить вопрос здесь:
http://www.geocities.com/bpk20032001/prog/ImportBT.htm
25 ноя 04, 17:18    [1136225]     Ответить | Цитировать Сообщить модератору
 Re: Конкатенация строк при UPDATE FROM  [new]
Smirnov Anton
Member

Откуда: Н.Новгород
Сообщений: 3220
пару дней назад был такой(похожий вопрос) вопрос
гапдейтом никак
25 ноя 04, 17:29    [1136290]     Ответить | Цитировать Сообщить модератору
 Re: Конкатенация строк при UPDATE FROM  [new]
BugsBunny
Member

Откуда: GMT+5=EST
Сообщений: 2414
BPK
Скудные оформительские возможности форума ...

Besides the fact that you arrogantly ignored "good manners" recommendation
(which, in fact, could help you to solve the problem by yourself by just reading FAQ)
I would personally prefer sql-script for creating of test table and
populating it with data to your nice looking tables.


Рекомендации по оформлению сообщений в форуме
FAQ::Microsoft SQL Server-->Transact-SQL-->Сложение символьных полей в запросе
USE tempdb
GO
CREATE TABLE t(ITEM int, DETAIL int, UNIT int, [COUNT] int NULL, SIGNS varchar(1000))
insert into t (ITEM, DETAIL, UNIT, [COUNT], [SIGNS]) 
select 10, 3677, 135, NULL, 'VD10,VD15,VD1' union all 
select 10, 3677, 135, NULL, 'VD18,VD16,VD5,VD6,VD12' union all  
select 10, 3677, 135, 12, 'VD2,VD13,VD11,VD17' 
GO

CREATE FUNCTION dbo.summary(@ITEM int, @DETAIL int, @UNIT int)
RETURNS VARCHAR(1000)
AS
BEGIN
DECLARE @Result VARCHAR(1000)
SET @Result = ''
SELECT 
	@Result = 
		@Result + 
		CASE 
			WHEN @Result<>'' AND ISNULL([SIGNS],'')<>'' THEN ',' 
			ELSE '' 
		END + 
		ISNULL([SIGNS],'')
FROM t 
WHERE ITEM=@ITEM AND DETAIL=@DETAIL AND UNIT=@UNIT
RETURN @Result
END
GO

SELECT ITEM, DETAIL,UNIT,SUM([COUNT]) AS [COUNT],dbo.summary(ITEM, DETAIL,UNIT)
FROM t
GROUP BY ITEM, DETAIL,UNIT
GO

DROP FUNCTION dbo.summary
GO
DROP TABLE t
GO
25 ноя 04, 18:51    [1136626]     Ответить | Цитировать Сообщить модератору
 Re: Конкатенация строк при UPDATE FROM  [new]
BPK
Member

Откуда: ни: возьмись.
Сообщений: 1601
Спасибо, однако я в своё время отказался от такого варианта. Сейчас плюнул на всё, реализовал его, и подтверждаю: работает ооооочень медленно.
29 ноя 04, 12:57    [1143489]     Ответить | Цитировать Сообщить модератору
 Re: Конкатенация строк при UPDATE FROM  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Насколько можно видеть по структуре данных, нормальное решение и не найдется - потому что структура данных корявая. Чего вы хотите при отсутствии нормализации данных?
29 ноя 04, 13:22    [1143629]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить