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

    [MySQL] Join tabelle, ma uno dei due campi da unire...

    Ciao,
    ho un problema nell'eseguire un join di due tabelle...

    una tabella "autori" ha il proprio id_autore, la tabella "libri" ha il suo campo autore che però può contenere un array... o meglio, una serie di valori separati con una virgola, infatti un libro può avere più autori.

    per cui:

    autori:

    codice:
    id - autore
    1  - nominativo
    2  - nominativo2
    ecc...
    mentre in libri
    codice:
    id - libro   - autore
    1  - titolo  - 1
    2  - titolo2 - 2
    3  - titolo3 - 1,2
    Se io faccio una query che mi tira fuori tutti i libri del primo autore, come faccio a far si che venga restituito anche il libro 3?

    ho provato con
    codice:
    SELECT *  FROM libri AS l LEFT join autori AS a ON a.id IN l.autore WHERE a.id = '1'
    ma non funziona... allora ho fatto:
    codice:
    SELECT * FROM autori AS a, libri AS l WHERE a.id IN l.autore AND a.id = '1'
    ma ho sempre un errore...

    come diavolo faccio a prendere i dati correttamente?
    Ciao!

  2. #2
    Ciao,
    rieccomi,
    ho risolto cosi:

    codice:
    SELECT * 
    FROM libri AS l, autori AS a
    WHERE a.id = '2'
    AND l.autore LIKE '%2%'
    ma non credo sia il miglior modo, esiste una join per questo lavoro?
    Ciao!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.