티스토리 뷰

Database/MySQL

Using pivot table in MySQL

Jared 2009. 12. 17. 13:53
mysql> desc common_pivot
   -> ;
+--------+----------+------+-----+---------+----------------+
| Field  | Type    | Null | Key | Default | Extra          |
+--------+----------+------+-----+---------+----------------+
| seq_id | int(11)  | NO  | PRI | NULL    | auto_increment |
| seq_nm | char(32) | YES  |    | NULL    |                |
+--------+----------+------+-----+---------+----------------+

select
reverse(substring(reverse(substring(concat(a.seperator,a.param,a.seperator),1,b.seq_id)),1,instr(reverse(substring(concat(a.seperator,a.param,a.seperator),1,b.seq_id)),a.seperator)-1)) as generated_str
from (
       select
           'ab,bc,cd,de,ef,fg,gh,hi' as param,
           ',' as seperator
       from common_pivot where seq_id=1
) a cross join common_pivot b
where b.seq_id<=length(a.param)+length(a.seperator)
and substring(concat(a.param,a.seperator),b.seq_id,1) = a.seperator;

select substring(concat(a.seperator,a.param,a.seperator),1,b.seq_id),
      reverse(substring(concat(a.seperator,a.param,a.seperator),1,b.seq_id)),
   reverse(substring(reverse(substring(concat(a.seperator,a.param,a.seperator),1,b.seq_id)),1,instr(reverse(substring(concat(a.seperator,a.param,a.seperator),1,b.seq_id)),a.seperator)-1)) as generated_str
from (
       select
           'ab,bc,cd,de,ef,fg,gh,hi' as param,
           ',' as seperator
       from common_pivot where seq_id=1
) a cross join common_pivot b
where b.seq_id<=length(a.param)+length(a.seperator)
and substring(concat(a.param,a.seperator),b.seq_id,1) = a.seperator;
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함