MYSQL ROW로 있는 DATA COLUMN으로 조회 0 1 1,523

by 기타중독 [MySQL] MYSQL 쿼리 [2014.11.27 18:22:09]


질의.png (12,577Bytes)

안녕하십니까? 쿼리가 풀리지 않아 염치불구 하고 질문 드립니다.

호실 정보가 row로 되어 있는 테이블을 오른쪽 그림과 같이 조회하려고 합니다.

같은 FLOOR의 속하는 HO의 수는 가변적입니다.

처음에는 GROUP_CONCAT()으로 가져와 SUBSTRING_INDEX()로 나눌려고 했는데 생각자체가 잘못된거 같습니다.

접근자체를 어떻게 해야할지 감이 오지 않습니다.

고견 부탁드립니다.

 

by 마농 [2014.11.28 19:28:04]
SELECT dong, floor
     , MIN(CASE ho % 100 WHEN 1 THEN ho END) ho_1
     , MIN(CASE ho % 100 WHEN 2 THEN ho END) ho_2
     , MIN(CASE ho % 100 WHEN 3 THEN ho END) ho_3
     , MIN(CASE ho % 100 WHEN 4 THEN ho END) ho_4
     , MIN(CASE ho % 100 WHEN 5 THEN ho END) ho_5
  FROM (SELECT 100 dong, 'F03' floor, 302 ho
        UNION ALL SELECT 100, 'F03', 301
        UNION ALL SELECT 100, 'F02', 203
        UNION ALL SELECT 100, 'F02', 202
        UNION ALL SELECT 100, 'F02', 201
        UNION ALL SELECT 100, 'F01', 101
        ) a
 GROUP BY dong, floor
 ORDER BY dong, floor DESC
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입