데이터를 선택할 때 간단한 조인을 통해 일부 열의 값을 해결할 수 있지만 전부는 아닙니다. 대부분의 열은 10997과 같이 하나의 데이터 값을 가지고 있지만 다른 열은 10997, 10889, 10123과 같은 데이터 값이 여러 개 있습니다. 필자가 필요로하는 텍스트에 세 개의 개별 값을 해결하는 함수를 만들었지 만, 그것을 사용하는 방법을 알아 내려고하는 데 어려움이 있습니다. 나는 기본이내 함수를 호출하는 방법을 잘 모르겠 음
은 다음과 같이 조인
이SELECT COLUMN1, COLUMN2, COLUMN3
FROM TABLE1 A
JOIN TABLE2 B ON A.ID = B.ID
이의 결과는 다음과 같을 것입니다 : 내가 사용을 만들어
Column1 Column2 Column3
1 11272, 11273, 11274, 11277 7712
기능은 변수와 테이블 변수를 선언했다.
SELECT COLUMN1, dbo.MyFunction(COLUMN2), COLUMN3
FROM TABLE1 A
JOIN TABLE2 B ON A.ID = B.ID
이 결과 : 내가 할 수 있도록하고 싶습니다 무엇
는이 같은 것입니다
Column1 Column2 Column3
1 Radio, Flyer, Internet, Bar 7712
문제는 내 함수가 변수를 사용하는 것이 내가 할 수 없습니다 SQL (테이블 값 함수, 저장된 proc 등)에 넣을 위치를 찾으십시오. 그래서 어떻게 사용하고 싶은지를 알 수 있습니다. 각 영역마다 고유 한 제한이 있습니다.
편집 : 저는 여기에 제 기능을 위해 생성 된 코드이며, 현재는
DECLARE @looper INT, @res VARCHAR(100)
DECLARE @outList VARCHAR(300)
SET @outList = ''
DECLARE @tmpa TABLE (Item INT)
INSERT INTO @tmpa
SELECT Item
FROM fn_Split (', ', @input)
SELECT @looper = MIN(Item)
FROM @tmpa
WHILE @looper IS NOT NULL
BEGIN
SELECT @res = NAME
FROM FSM_CustomFormSelectOptions CFSO
WHERE ID = @looper
--print @res
SET @outList = @outList + @res + ', '
SELECT @looper = MIN(Item) FROM @tmpa WHERE Item > @looper
END
SET @outList = LEFT(@outList, LEN(@outList)-1)
INSERT INTO @Answers
VALUES(@outList)
RETURN
샘플 호출하는 다중 문 테이블 반환 함수입니다 : 당신은 아무것도 반환하지 않습니다
select * from fn_GetAnswerText('11273, 11274, 11275')
** 우리는 ** 귀하의 ** 기능 **을 사용하는 방법을 알려 드리고자합니다. ** ** 귀하 ** 당신이 당신이 요구하는 것을 볼 수 있도록 코드를 제공하지 않는다면 **을 썼습니다. –
기본 조인의 결과가 그렇게 보이지 않습니다. – Paparazzi
출력으로 생성하고자하는 기능이 잘못되었습니다. 원하는대로 사용할 수 있도록 테이블이 아닌 쉼표로 구분 된 값 목록을 포함하는 VARCHAR을 리턴해야합니다. –