Erik Jensen wrote:
> > If the list of categories does not change, you could assign the
> > category IDs so that they have the same order as the names.
>
> Yes, that was my idea too if there is no other easy solution.
>
> Is there an easy/elegant way to re-order the "category" table and
> update the "products" table with the new category_ids?
CREATE TEMP TABLE cat2 AS
SELECT (SELECT COUNT(*)
FROM categories AS previous
WHERE previous.name <= categories.name) AS new_id,
id AS old_id,
name
FROM categories;
DELETE FROM categories;
INSERT INTO categories
SELECT new_id, name
FROM cat2
ORDER BY new_id;
UPDATE products
SET category_id = (SELECT new_id
FROM cat2
WHERE old_id = products.category_id);
DROP TABLE cat2;
Regards,
Clemens
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users