...tieni conto che per selezionare un record devi usare la "chiave" (così si chiama): nel tuo caso sembrerebbe che questa sia la terna <book, capitolo, sottocapitolo>, ma non so se il db è impostato correttamente (e magari sono possibili duplicati)... verifica semplicemente di fare le query correttamente e di gestire eventuali duplicati (nel qual caso avresti in risposta più record... una "patch" può essere un LIMIT 1 in fondo alla query e un ORDER BY in base a cosa è meglio fare, magari prendere il più recente).