Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    separare i dati di un campo all'interno della query

    Salve a tutti,
    vi ho già scritto qualche tempo fa e mi avete aiutato a risolvere questo problema con una libreria virtuale.
    Ora, vorrei ridurre la gestione della libreria a sole 2 tabelle, in questo modo:

    INFOLIBRI
    id_libro, titolo, autore, anno

    INFOAUTORI
    id_autore, nome_cognome, nazionalità

    La questione che mi crea problemi è legata ai libri scritti da più autori.
    Prendiamo per esempio il libro "la casa del buio", scritto da Stephen King e Peter Straub.
    Ecco le righe interessate nelle tabelle:

    INFOLIBRI
    68 | la casa del buio | 1,11 | 2001

    INFOAUTORI
    1 | Stephen King | USA
    11 | Peter Straub | USA

    Come posso fare ad elencare tutti gli autori del libro con le rispettive nazionalità?
    Nella mia query attuale c'è questo passo cruciale:
    codice:
    FROM infolibri il
    LEFT JOIN infoautori ia
    ON ia.id_autore
    IN (SELECT ii.autore FROM infolibri ii WHERE il.id_libro=ii.id_libro)

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    363
    La soluzione di ridurre tutto a due tabelle non è "particolarmente elegante" (leggi: "decisamente orribile"), così come il codice SQL che hai postato.
    Se comunque scegli quella strada devi costruirti la stringa di codice SQL dinamicamente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.