You can try the following query statement.
CREATE TABLE Client1 (ClintId INT, Category1 INT, Category2 INT,Category3 INT,Category4 INT,Category5 INT)
CREATE TABLE Client2(ClientId INT, CategoryType VARCHAR(100),VALUE INT)
GO
ALTER TRIGGER SampleTrigger
ON Client1
AFTER INSERT
AS
DECLARE @ClientID INT
DECLARE @Category1 AS INT
DECLARE @Category2 AS INT
DECLARE @Category3 AS INT
DECLARE @Category4 AS INT
DECLARE @Category5 AS INT
SELECT @ClientID = ClintId, @Category1= Category1, @Category2= Category2,
@Category3= Category3, @Category4 =Category4, @Category5= Category5 FROM inserted
IF(@Category1<>0)
BEGIN
INSERT INTO Client2(ClientId,CategoryType,Value) VALUES(@ClientID,'Category1',@Category1)
END
IF(@Category2<>0)
BEGIN
INSERT INTO Client2(ClientId,CategoryType,Value) VALUES(@ClientID,'Category2',@Category2)
END
IF(@Category3<>0)
BEGIN
INSERT INTO Client2(ClientId,CategoryType,Value) VALUES(@ClientID,'Category3',@Category3)
END
IF(@Category4<>0)
BEGIN
INSERT INTO Client2(ClientId,CategoryType,Value) VALUES(@ClientID,'Category4',@Category4)
END
IF(@Category5<>0)
BEGIN
INSERT INTO Client2(ClientId,CategoryType,Value) VALUES(@ClientID,'Category5',@Category5)
END
After inserting the following values,you can see the effect on Client2 table
INSERT INTO Client1(ClintId, Category1, Category2,Category3,Category4,Category5)
VALUES(6000,1,0,1,0,0)
Thanks.