le select della union essendoci specifiche condizioni vanno racchiuse tra parentesi.
La JOIN non ti serve, perche' rende un unica tabella e non ci sono vincoli di relazione tra le due tabelle. I campi dovrebbero essere tutti con l'alias.
La union ti rende in ordine di data prima una tabella e poi l'altra. Divise in ordine di tabella. Se invece vuoi una sola tabella in ordine di data con i titoli libro/rivista misti potresti puntare ad una tabella temporanea che raccolga i dati cercati del dato scaffale, per poi estrarli in modo indifferenziato ordinati per data.
![]()