데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
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))