1
포스트그레스에서 크로스 탭 기능을 사용하고 있습니다. 기본 SQL은 다음과 같습니다crosstab() 쿼리 이동 열
는select distinct
o_location,
co_name,
o_date,
o_ndate,
o_day,
o_hour,
o_type
from outputs_txt
left join courses on o_course = co_foreign
left join locations on o_location = l_code
where o_date = '2011-10-10'
order by o_hour
내 크로스 탭 쿼리는 문제는 결과가 모두 왼쪽으로 이동할 점이다
SELECT *
FROM crosstab(
'SELECT DISTINCT
COALESCE(o_location, '''')
,o_hour AS hour
,c.co_name
FROM outputs_txt AS d
LEFT JOIN courses AS c
on o_course = c.co_foreign
LEFT JOIN locations as a
on o_location = a.l_code
WHERE d.o_date = ''2011-10-10'''
)
AS ct(
o_location varchar
,hour_0 varchar
,hour_1 varchar
,hour_2 varchar
,hour_3 varchar
,hour_4 varchar
,hour_5 varchar
,hour_6 varchar
,hour_7 varchar
,hour_8 varchar
,hour_9 varchar
,hour_10 varchar
,hour_11 varchar
,hour_12 varchar
,hour_13 varchar
,hour_14 varchar
,hour_15 varchar
,hour_16 varchar
,hour_17 varchar)
입니다.
예를 들어 한 위치의 코스가 hour_8
에 표시되어야하는 경우 hour_0
으로 표시됩니다.
모든 지역의 모든 과정을 대상으로합니다. 그들은 모두 왼쪽으로 정렬됩니다.
어디로 잘못 가고 있습니까?
주문에 의한 영향은없는 것으로 보입니다. – Yebach
주문에 의한 영향은없는 것 같습니다. 내가 얻을 o_location \t hour_0 \t hour_1 \t hour_2 \t hour_3 \t hour_4 \t ...... \t hour_17 .... \t SUB1 \t SUB1 \t SUB1 \t SUB2 \t SUB3 \t '' \t subX \t subX \t subY \t subY \t ''\t '' 언제 내가 좋아해야합니까? o_location,223,210 hour_0 \t hour_1 hour_2 \t \t \t hour_3 hour_4 hour_5 \t \t \t hour_6 ...... \t hour_17 .... \t \t \t SUB1 SUB1 SUB1 \t \t \t \t SUB2 SUB3 \t \t subX subX \t \t \t \t subY \t subY \t subY – Yebach
@Yebach : 올바른 형식으로 질문을 편집하십시오. 너무 해독하기가 어렵습니다. –