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

    più id nello stesso campo

    Salve, ho un campo nel db che contiene più id, ora mi chiedo come posso richiamarli e trovare i rispettivi nomi?

    select genere from tabella

    genere = 1, 2

    io poi dovrei fare

    select nome from tabella_genere where id = 1

    e poi

    select nome from tabella_genere where id = 2

    infine racchiudere tt in una stringa

    $stringa = genere_1 ."/". genere_2;

    io fino ad ora ho adottato la soluzione di inserire in un singolo id genere_1 / genere_2 cosi richiamavo 1a sola volta e tt funzionava, ma ora ho la necessità di suddividere tt e ricreare cosi i generi

    mi sono spiegato bene? ditemi xke io nn ne sono convinto
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  2. #2

    Re: più id nello stesso campo

    Originariamente inviato da Chef89
    mi sono spiegato bene?
    Non benissimo

    Ad ogni modo: hai un campo di tipo stringa che contiene piu' id separati da virgola?

    A parte che sarebbe interessante capire perche' hai adottato questa scelta....

    Ma non puoi usare un OR?

    select nome from tabella_genere where id = 1 OR id = 2

    e se devi unire i nomi puoi fare un GROUP_CONCAT

  3. #3

    Re: Re: più id nello stesso campo

    Originariamente inviato da raven74
    Non benissimo

    Ad ogni modo: hai un campo di tipo stringa che contiene piu' id separati da virgola?

    A parte che sarebbe interessante capire perche' hai adottato questa scelta....

    Ma non puoi usare un OR?

    select nome from tabella_genere where id = 1 OR id = 2

    e se devi unire i nomi puoi fare un GROUP_CONCAT
    si ho una stringa, ho scelto questo xke ci inserisco dentro dei generi (x esempio azione, thriller, ecc) molte volte xo sono + di un genere (es azione / thriller) e star li a creare tt le combinazioni, molte volte sono anche 5-6

    mi potresti fare un esempio di GROUP_CONCAT? io di db ne capisco molto poco
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  4. #4
    secondo me dovresti ristrutturare il db creando una tabella di join

  5. #5
    di solito in questi casi si crea un'apposita tabella che ha semplicemente due colonne

    se ad esempio parliamo di film:

    id_genere
    id_film

    in questo modo ogni film puo' avere piu' generi. E' cosi' che si fanno di solito le relazioni molti a molti nei DB.

    Se poi vuoi concatenare piu' stringhe appartenenti a righe diverse

    SELECT GROUP_CONCAT(nome SEPARATOR '/') FROM t_genere WHERE ...

    http://dev.mysql.com/doc/refman/5.0/...n_group-concat

  6. #6
    Originariamente inviato da raven74
    di solito in questi casi si crea un'apposita tabella che ha semplicemente due colonne

    se ad esempio parliamo di film:

    id_genere
    id_film

    in questo modo ogni film puo' avere piu' generi. E' cosi' che si fanno di solito le relazioni molti a molti nei DB.

    è esattamente quello che volevo dire io...

  7. #7
    grazie cosi nn ci avevo pensato.. in effetti è molto + semplice poi richiamare i dati.

    Grazie di tutto
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

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.