테이블 A에
aaa bbb ccc 라는 컬럼이 있습니다
데이터 호출 할 때
aaa1 bbb1 ccc1 aaa2 bbb2 ccc2
aaa3 bbb3 ccc3 aaa4 bbb4 ccc4
.
.
이런식으로 한 열에 2개씩 데이터를 가져오는 쿼리를 어떻게 짜야 할까요?
|
답변 4개 / 댓글 3개
채택된 답변
+20 포인트
마르스컴퍼니
2017-10-17 (화) 18:41:23
쿼리입니다. Primary Key : seq
다음의 글을 참고 하였습니다. https://stackoverflow.com/a/8673125
Copy
WITH T AS (
SELECT
rownum = ROW_NUMBER() OVER (ORDER BY seq),
aaa, bbb, ccc
FROM A
)
SELECT
A.aaa, A.bbb, A.ccc, T.aaa, T.bbb, T.ccc
FROM A INNER JOIN T on T.rownum = A.rownum + 1
WHERE A.rownum % 2 = 1
답변에 대한 댓글 2개
마르스컴퍼니
2017-10-18 (수) 11:51:13
Alias 는 있어도 되고, 없어도 되는 성격입니다.
본문에서 테이블 'A'라고 예를 들어서 그에 맞춘 것입니다.
실제 테이블 이름이 길다면..
해당 테이블의 alias 를 't1', 'a' 등드으로 주면 됩니다. 조인 조건시에는 alias 로 맞춰주어야 되고요.
WITH T AS (
SELECT
rownum = ROW_NUMBER() OVER (ORDER BY seq),
aaa, bbb, ccc
FROM A
)
에서 with() 절은 임시테이블인데 T 로 alias? 를 준 것이라고 보면 됩니다.
본문에서 테이블 'A'라고 예를 들어서 그에 맞춘 것입니다.
실제 테이블 이름이 길다면..
해당 테이블의 alias 를 't1', 'a' 등드으로 주면 됩니다. 조인 조건시에는 alias 로 맞춰주어야 되고요.
WITH T AS (
SELECT
rownum = ROW_NUMBER() OVER (ORDER BY seq),
aaa, bbb, ccc
FROM A
)
에서 with() 절은 임시테이블인데 T 로 alias? 를 준 것이라고 보면 됩니다.
CODINGROBOT
2017-10-18 (수) 16:53:15
이런 쿼리는 왜 필요하죠?
설계 오류
2017-10-17 (화) 21:08:57
크리스탈 리포트 쓰시나 보네요 ^^
2017-10-17 (화) 18:21:55
한열에 두개를 하려는 의도는 모르겠지만 데이터 출력후 데이터 나열방식으로 처리하는게 좋을듯 합니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.