쿼리 문의 ㅠㅠ 0 4 1,377

by 밍밍∨ [2013.10.17 18:06:39]


2.jpg (12,960Bytes)


화면에서 데이터를 아래와 같은 형태로 저장을 하는데요.

컬럼 하나에 다음과 같은 값으로 들어 갑니다.
120-120-120-120-120-0-0-0-0-0-0-0-0-0-0-


이것을 함수를 구현해서 '-' 로 split 을 했는데요.
120 120 120 120 120 0 0

이렇게 보이는 걸 이런식으로 뽑고 싶은데 ㅠ
잘 모르겠어요 ㅠㅠㅠㅠㅠ

120 0 0 0 0 0
0 120 0 0 0 0
0 0 120 0 0 0
0 0 0 120 0 0
0 0 0 0 120 0


아래는 화면에서 입력받는 데이터
by 우리집아찌 [2013.10.17 18:16:56]

MS-SQL 이죠?
데이터는 가변적인가요?

by 우리집아찌 [2013.10.17 18:40:44]
-- 고정값이면...
WITH T1 ( COL1 , COL2 , COL3 , COL4 , COL5 ) AS (
SELECT '120' , '120' ,'120' ,'120' ,'120' 
) , T2 ( num )AS (
	SELECT '1' UNION ALL
	SELECT '2' UNION ALL
	SELECT '3' UNION ALL
	SELECT '4' UNION ALL
	SELECT '5' 
)
SELECT CASE WHEN b.num = 1 THEN COL1 ELSE NULL END COL1 
   , CASE WHEN b.num = 2 THEN COL2 ELSE NULL END COL2 
   , CASE WHEN b.num = 3 THEN COL3 ELSE NULL END COL3 
   , CASE WHEN b.num = 4 THEN COL4 ELSE NULL END COL4 
   , CASE WHEN b.num = 5 THEN COL5 ELSE NULL END COL5 
 
 FROM T1 a , T2 b

by 밍밍∨ [2013.10.18 16:37:22]
도움이 많이 되었어요!

그런데 제가
저 with 절을 select로  묶어서 다른 테이블들과 조인할때 가져다 쓰고 싶은데;;
어떻게 하면 좋을까요?

-- select * from (with 절 위에쓰신거 전체)
  이런식으로 해서 다른 테이블과 조인하고 싶은데;;

by 밍밍∨ [2013.10.18 13:16:12]

네  MSsql 이요!
저렇게 120 씩 입력받는게 달라질수도 잇는거죠;; 30이 되든 50이 되든;;

근데 split 으로 쪼개면 저렇게 각각의 값을 가져올수도 있겠네요ㅎ
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입