mssql 쿼리 질문입니다.

mssql 쿼리 질문입니다.

QA

mssql 쿼리 질문입니다.

답변 4

본문

테이블 A에

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

데이터 호출 할 때

aaa1 bbb1 ccc1 aaa2 bbb2 ccc2

aaa3 bbb3 ccc3 aaa4 bbb4 ccc4

.

.

 

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

이 질문에 댓글 쓰기 :

답변 4

쿼리입니다. Primary Key : seq

 

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


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

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? 를 준 것이라고 보면 됩니다.

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 126,584
© SIRSOFT
현재 페이지 제일 처음으로