Split values in parts with sqlite
I'm struggling to convert a | a1,a2,a3 b | b1,b3 c | c2,c1 to: a | a1 a | a2 a | a3 b | b1 b | b2 c | c2 c | c1 Here are data in sql format: CREATE TABLE data( "one" TEXT, "many" TEXT ); INSERT INTO "data" VALUES('a','a1,a2,a3'); INSERT INTO "data" VALUES('b','b1,b3'); INSERT INTO "data" VALUES('c','c2,c1'); The solution is probably recursive Common Table Expression. Here's an example which does something similar to a single row: WITH RECURSIVE list( element, remainder ) AS ( SELECT NULL AS element, '1,2,3,4,5' AS remainder UNION ALL SELECT CASE WHEN INSTR( remainder, ',' )>0 THEN SUBSTR(