Man kunne vel også have en før og efter kolonne i tabellen, så skal man bare huske at opdatere den når man indsætter og sletter:
ny indsæt skal du først select den row hvor efter er null, tage id'et og lave den næste række hvor det taget id indsættes som i før kolonnen, og updater den taget rows næste kolonnen med den nye rows id.
Ved slet skal du tage den række du sletters fær og efter id'er, hvis før er forskellig fra null skal du updater denne næste kolonne til den slettets række næste. hvis efter er forskellig fra null skal du, updater dennes kolonne før kolonnen med den slettes række før kolonne.
Virker principielt set som en linket liste.
Ideen er at du spare den der dobbelt select union, tilgengæld er det lidt sværer at indsætte nye bøger, og du gemmer 3 id felter per bog i stedet for 1.
PS. ved ikke om det en god ide