Scusa, non puoi eseguire due query update di seguito? :master:

La prima sarà qualcosa come
UPDATE blabla SET bla bla bla WHERE(categoria = sotto_categoria);

e l'altra:
UPDATE blabla SET bla bla bla WHERE(categoria != sotto_categoria);