Мой вопрос: как вставить из таблицы1 в таблицу2?Выполнение процедуры в SQL Server
Table1 является:
Number Category Value
10 1 1000
10 2 5000
12 3 4000
Table2 является:
number Category1 Category2 Category3
10 1000 5000 NULL
12 NULL NULL 4000
мне нужно сделать это (мои категории есть предел).
Мое решение: Я создал хранимую процедуру, которая получает параметр и вставляет в table2, как это:
CREATE proc [dbo].[UpdateMemberActivityCategory]
(@Number nchar(11),
@Value int,
@Type int)
AS
BEGIN
IF (NOT EXISTS(SELECT * FROM MemberActivityCategory WHERE ([email protected])))
BEGIN
INSERT INTO MemberActivityCategory(Number)
VALUES(@Number);
IF(@Type = 2)
BEGIN
UPDATE MemberActivityCategory
SET ArtAndCulture = @Value
WHERE (Number = @Number)
END
IF(@Type = 3)
BEGIN
UPDATE MemberActivityCategory
SET Learn = @Value
WHERE (Number = @Number)
END
IF(@Type = 4)
BEGIN
UPDATE MemberActivityCategory
SET Business = @Value
WHERE (Number = @Number)
END
END
и я называю это procedire так:
select *, myProc(t.Number,1,t.category)
from myTable t
мое решение неправильно ? И что это лучший способ сделать это?
Вы можете посмотреть на 'PIVOT'. https://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx –