테스트 사이트 - 개발 중인 베타 버전입니다

mssql 쿼리 질문입니다. 채택완료

우베툰 8년 전 조회 2,393

테이블 A에

aaa bbb ccc 라는 컬럼이 있습니다

데이터 호출 할 때

aaa1 bbb1 ccc1 aaa2 bbb2 ccc2

aaa3 bbb3 ccc3 aaa4 bbb4 ccc4

.

.

 

이런식으로 한 열에 2개씩 데이터를 가져오는 쿼리를 어떻게 짜야 할까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
8년 전

쿼리입니다. Primary Key : seq

 

다음의 글을 참고 하였습니다. https://stackoverflow.com/a/8673125

</p>

<p>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</p>

<p>WHERE A.rownum % 2 = 1</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

우베툰
8년 전
A는 alias 안줘도 되는건가요?
마르스컴퍼니
8년 전
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? 를 준 것이라고 보면 됩니다.

댓글을 작성하려면 로그인이 필요합니다.

C
8년 전

이런 쿼리는 왜 필요하죠?

설계 오류

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

8년 전

크리스탈 리포트 쓰시나 보네요 ^^

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플라이
8년 전

한열에 두개를 하려는 의도는 모르겠지만 데이터 출력후 데이터 나열방식으로 처리하는게 좋을듯 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

우베툰
8년 전
리포팅 툴을 이용하여 쿼리를 짜는 중인데 같은 데이터를 가로로 2번씩 뿌려주거든요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인