연속값 출력하는 방법 질문 드립니다. 0 2 9,232

by pajama [SQL Query] with informix sql [2021.03.25 16:27:42]


안녕하세요. 시작값과 끝값을 가지고 연속으로 값을 출력하려고 합니다.

WITH문을 써서 예상한 결과가 나오긴 했는데 맞는 방법일지요? DBMS는 인포믹스 입니다.

<원본>

1027 1 4
2562 a c
2564 1 3
6663 a c
7426 a d

 

<원하는 결과>

1027 1
1027 2
1027 3
1027 4
2562 a
2562 b
2562 c
2564 1
2564 2
2564 3
 

 

 

WITH temp1 (code, st, en) AS
(
SELECT 1027, '1', '4'
UNION ALL
SELECT 2562, 'a', 'c'
UNION ALL
SELECT 2564, '1', '3'
UNION ALL
SELECT 6663, 'a', 'c'
UNION ALL
SELECT 7426, 'a', 'd'
),
temp2 (code, ltr, s) AS
(
SELECT * FROM temp1
UNION ALL
SELECT code, CHR(ASCII(ltr) + 1), s FROM temp2 WHERE ltr < s
)
SELECT code, ltr FROM temp2;

 

by 마농 [2021.03.25 17:23:14]

네. 맞습니다.


by pajama [2021.03.25 17:45:46]

답변 감사드립니다~

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입