Visualizzazione risultati 1 fino 6 di 6

Discussione: Mysql se un ID è in un stringa di un altra colonna

  1. #1
    makingweb non è connesso Utente attivo
    Data registrazione
    30-06-2009
    Messaggi
    281

    Predefinito Mysql se un ID è in un stringa di un altra colonna

    Salve a tutti ho un piccolo dubbio, io ho due tabelle:

    ho la tabella A in cui nella colonna NUMERI ho salvata la segunete stringa: "5,2,3"
    poi ho la tabella B in cui ho una colonna ID primary key, auto increment, ora io vorrei controllare con una query che 5,2,3 siano gli ID della tabella B

    Il discorso è abbastanza complicato, spero che qualcuno abbia capito, oppure cercò di spiegami meglio

  2. #2
    Guest

    Predefinito

    Da quel che ho capito non è possibile, perché non è possibile fare una specie di in_array(explode()) nelle query MySQL. Potresti usare la funzione (R)LIKE() di MySQL, ma ti complicheresti non poco la vita se avessi un ID come primo valore (nel tuo esempio, 5).

    Ti consiglio di creare una seconda tabella che contiene solo gli ID e poi usi LEFT JOIN o SELECT con FROM multiple, in questo caso risparmi anche byte (è una sciocchezza, ma meglio risparmiare se si può) perché i numeri occupano meno byte di una stringa.


  3. #3
    makingweb non è connesso Utente attivo
    Data registrazione
    30-06-2009
    Messaggi
    281

    Predefinito

    mmm...
    ma dopo come li confronto i valori?

    In poche parole io ho due tabella

    GIOCATORI
    id | user | squadra |

    1 | marco | 5,3,2 |
    2 | simone | 4,2,1|
    3 | andrea | 9,8,7

    e la tabella

    SQUADRE
    id | nome

    2 | Cesena
    3 | Milan
    5 | Palermo

    Ora, io vorrei fare in modod che Simone posso visualizzare marco (perchè nella stessa squadra), ma allo stesso tempo, marco e simone non devono essere mostrati ad andera ( perchè in squadre diverse) ora io quando faccio la query ed estraggo tutti gli utenti, vorrei anche controllare che l'untete estratto sia nella mia squadra (in caso contratio non mostro l'utente)

  4. #4
    Guest

    Predefinito

    Non ho capito niente di ciò che hai scritto. Se rileggi il tuo post, probabilmente non lo capirai nemmeno tu

    Provo a spiegarti in base a quel poco che ho capito. Allora, devi fare 3 tabelle:

    giocatori
    id | nome

    squadre
    id | nome

    formazioni (per esempio)
    id_giocatore | id_squadra

    Poi, devi dirmi cosa ti serve estrarre precisamente e come soprattutto, altrimenti non posso aiutarti.


  5. #5
    makingweb non è connesso Utente attivo
    Data registrazione
    30-06-2009
    Messaggi
    281

    Predefinito

    COSA: In poche parole vorrei estrarre tutti i giocatori che sono inseriti, nella mie stesse squadre.
    COME: Utilizzando solo sql se è possibile
    Ultima modifica di makingweb : 29-09-2011 alle ore 15.19.23

  6. #6
    Guest

    Predefinito

    Esempio della query che ti dicevo:
    Codice:
    SELECT g.nome
    FROM formazioni
    LEFT JOIN giocatori g
    	ON (id = id_giocatore)
    WHERE id_squadra = #
    Dove # è l'ID della squadra.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •