LINUX/DB

[MySQL] 가로행과 세로열 값을 모두 구분자로 묶기(GROUP_CONCAT,CONCAT_WS)

OJR 2009. 10. 22. 14:13
http://blog.jidolstar.com/171


SELECT IF(t.no = 1, t.no, b.area_id) area_id
, IF(t.no = 1, '전체', c.name) cname
, IF(c.name = b.name, '전체/그외지역', b.name) tname
, a.name sname
, IF(b.enabled = 'Y', 'Y', '-') enabled
, GROUP_CONCAT(CONCAT_WS("->",so.name,so.contents), '|') soname
FROM Area a
LEFT JOIN SpotData sd ON a.area_id = sd.area_id
LEFT JOIN Theme t2 ON sd.theme_id = t2.theme_id
LEFT JOIN Theme t1 ON t1.theme_id = t2.parent_theme_id
LEFT JOIN Area b ON a.parent_area_id = b.area_id
LEFT JOIN Area c ON a.title_area_id = c.area_id
LEFT JOIN SpotOption so ON so.area_id = a.area_id
JOIN copy_t t
WHERE a.area_type IN ('S')
AND a.enabled = 'Y'
AND t1.theme_id='2'
AND t.no < 3
GROUP BY IF(t.no = 1, t.no, a.area_id)
ORDER BY c.area_id, c.name, b.name
LIMIT 10
;
반응형

'LINUX > DB' 카테고리의 다른 글

char varchar  (0) 2010.01.08
[SQL] query like 쓰기  (0) 2009.12.21
mysql 모델링 툴 workbench  (0) 2009.06.09
기존 테이블 생성 쿼리 확인  (0) 2009.06.09
25가지 SQL작성법  (0) 2009.04.30