SELECT FN_GET_FULL_NAME
위와 같이 function을 쿼리하면 ⇒ '100','200','300' 결과가 보여집니다.
위 문자열을 조건절로 넣고 싶은데요
예를들면 아래처럼 날려서 결과를 얻고싶은데요
SELECT * FROM TBL_A WITH (NOLOCK)
WHERE DEPART IN ( SELECT FN_GET_FULL_NAME )
조회건수가 없어요...
SELECT * FROM TBL_A WITH (NOLOCK)
WHERE DEPART IN ('100,'200,'300') 에 해당하는 결과를 얻고싶거든요 .ㅠㅜ
뭘 잘 못 한걸까요????
고수님들 방법 좀 알려주세요.ㅠㅜ
Comment 1
-
자리비움
2017.11.15 16:31
-- SELECT FN_GET_FULL_NAME 의 결과 (@STR)DECLARE @STR VARCHAR(MAX) = '''100'',''200'',''300''';SELECT @STR--SET @STR = '<R A="' + REPLACE(REPLACE(@STR,''',','<R A="'),'<R',' /><R') + '" />'SET @STR = (REPLACE(@STR,'''',''))SET @STR = (REPLACE(@STR,',','<R A="'))SET @STR = '<R A="' + REPLACE(REPLACE(@STR,''',','<R A="'),'<R','" /><R') + '" />'DECLARE @XML XML = CONVERT(XML,@STR);SELECT *FROM TBL_A WITH (NOLOCK)WHERE DEPART IN (SELECT VAL = T.c.value('@A','int')FROM @XML.nodes('/R') AS T(c))