James Earl wrote: > After upgrading from SQLite 3.8.6 to 3.8.7, I am no longer able to > order group_concat values by using a subselect. For example the > following query with 3.8.6 will give me an ordered string of > items.image values based on items.position (which contains integers): > > SELECT products.name, GROUP_CONCAT(items.image) AS item_images > FROM products > INNER JOIN ( > SELECT * FROM items ORDER BY position > ) AS items ON (items.product_id = products.id) > GROUP BY products.id > ORDER BY products.name
Joining typically involves reordering rows. You were lucky in 3.8.6. You have to order the result of the join before grouping: SELECT product_name, GROUP_CONCAT(item_image) AS item_images FROM (SELECT products.id AS product_id, products.name AS product_name, items.image AS item_image FROM products JOIN items ON items.product_id = products.id ORDER BY products.id, items.position) GROUP BY product_id ORDER BY product_name Regards, Clemens _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users