2011-01-21 10 views
0

나는 "이디스플레이

global_id | auto_trans | add_drivers |child_seat | booster_seat | day 
- - - - - - - - - - - - - - - -- -- - - - - - - - -- - - - - - - - - 
    18   2   1   5    2   2 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    19   5   8   7    6   1 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    20   2   4   7    9   3 
- - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - 

같은 테이블 내가 아래 형식으로 테이블의 값을 표시 할했습니다

이것에 대한 루프를 작성하는 방법
___________|__1_|_2_ |_3 | 
    |   | | | | 
auto_trans | 5 | 2 | 2 | 
- - - - - - - - - - - - - 
add_drivers | 8 | 1 | 4 | 
-- - - - - - - - - - -- 
child_seat | 7 | 5 | 7 | 
- - - - - - - - - - - - - 
booster_seat| 6 | 2 | 9 | 
- - - - - - - - - - - - - - 

?

+0

포맷 시도하세요 예. 나는 그것을 두 번 읽었고 나는 여전히 당신이 목표로하는 것을 얻지 못했습니다. – polarblau

+0

테이블을 'PIVOT'하여 결과를 집계하려고하십니까? 필드 이름이 "1", "2"및 "3"인 항목이 표시 형식으로 표시되지는 않습니다. – Tony

+0

3 개의 행이 몇 개 있고 3 개보다 많거나 적은 행이 몇 행입니까? –

답변

1

쉽게 대답 답변? 데이터베이스에있는 행 대신 columnname에 의해 columnname 값을 저장하는 루프에 루프를 작성합니다 (예 : y 피클에 넣고 최대한 빨리 해결해야합니다.) 올바른 대답은, 아마도 당신이 조금 더 need to normalise your database입니다. 값이 관련되어있는 것처럼 보일지라도, 이러한 방식으로 값을 인쇄 해 달라는 귀하의 요청은 귀하의 데이터베이스가 다소 혼란 스러울 수도 있음을 알려줍니다.

0

답변은 피벗 또는 크로스 탭이지만 실제 솔루션은 사용중인 데이터베이스에 따라 다릅니다.

MS SqlServer 2005에는이 작업을 수행하는 PIVOT 명령이 있지만 대부분의 경우 수행하지 않습니다. 당신이 PHP를 사용하는 것처럼

내가 그 MySQL의 루시 ProstgreSQL

에 대한 PostgreSQL의 확인이 밖으로 가정의 MySQL에 대한 http://www.postgresql.org/docs/current/static/tablefunc.html

가 더 어려운 것 같다,이를 확인 : http://mysql.bigresource.com/crosstab-query-Pivot-table-1mjeYKlS.html#WAGYCZsH