2018년 3월 19일 월요일

MSSQL에서 특정 컬럼을 SPLIT 해서 값을 구하고 싶을때.

일반 예제들을 보면.. split의 기능 구현만 되어 있다..

지금 내가 하려는 도서 크기의 X * Y 값에 대해서 split을 하면

테이블 반환 함수 형태가 되어 2건의 결과가 나온다..

더 중요한건 내가 원한 것은 상품코드 당 split 한 결과들이 각각 연결되야 하는데..

잘 안되더라~~

그래서 구글링~~

https://dba.stackexchange.com/questions/86143/how-to-join-a-table-with-a-table-valued-function


SELECT

M.상품코드,

M.상품크기,

U.*

FROM

상품테이블 M

CROSS APPLY dbo.fnSplit(M.상품크기,'*') U

WHERE 1=1

AND ITEM_SIZE IS NOT NULL

AND (LEN(ITEM_SIZE)-LEN(REPLACE(ITEM_SIZE,'*',''))) > 0


요딴식으로 하면

A000200752  72*105  1   72

A000200752  72*105  2   105

A000200753  83*118  1   83

A000200753  83*118  2   118

이런식으로 결과가 각각 나뉘어서 출력된다.. 오늘 CROSS APPLY란거 하나 배웠네..

나머진 알아서 요리 시작!

끗!


댓글 없음:

댓글 쓰기

BE Band (비밴드) - 2024년 03월 02일 잠실새내 락앤롤욱스 공연

나의 10~20대를 보낸 잠실에서의 공연.. 오랜만에 가보니.. 여기가.. 마눌님과 자주 가던 영화관이었는데... 여긴 뭐가 있었는데... 란 추억도 떠올리며 기분좋게 감.​ 공연장은 좀 협소한 편이었고, 인천의 쥐똥나무 보다는 약간 크고... 인천 ...