Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    3

    mysql tipo dato 'SET', query

    Ciao, ho inserito un tipo di dato 'set' in quanto ho letto che, a differenza di 'enum', l'insieme delle stringhe create con set non sono mutualmente esclusive.
    Il problema ora è quando vado a fare la query, mi spiego meglio facendo un esempio.

    sia ad esempio il campo in questione un set dei valori ('A','B','C')
    ed ho le seguenti righe per quel campo:

    1) ('A','B')
    2) ('A')
    3) ('A')

    io voglio sapere tutte le righe che contengano per quel campo la 'A' (non mi importa se ne abbiamo anche altre, ma è importante sapere che abbiamo la 'A').

    faccio la query facendo il match con la 'A', cioè select .... .. .. .. ... where nomeCampo = 'A'
    però mi ritorna solo le ultime due righe, mentre vorrei che mi ritornasse anche la prima, perchè anche nella prima è presente la 'A'.
    Come devo scrivere la query?

    Spero di essere stato chiaro..
    Grazie dell'aiuto

  2. #2
    Utente di HTML.it L'avatar di vnt54
    Registrato dal
    Mar 2009
    Messaggi
    500
    Non ho molto chiaro la tua query ed anche i valori che sono nel campo di ricerca.
    Fai un'esempio molto concreto e potrei dirti come procedere.
    Sono stato nella terra della paura e dei vampiri...in transilvania?NO!..in Banca!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    3
    ok, ho un campo TipologiaAttivita che è un set dei seguenti valori ad esempio:
    ('pub', 'ristorante', 'pizzeria', 'discoteca').

    ho le seguenti tuple:

    1) TipologiaAttivita = ('pub', 'ristorante')
    2) TipologiaAttivita = ('pub')
    3) TipologiaAttivita = ('pub')

    Voglio fare una query che mi mostri tutte le tuple che contengano la TipologiaAttivita = 'pub', quindi come risultato della query non solo mi aspetto di trovare la seconda e la terza tupla, ma anche la prima, come devo scriverla?

    grazie

  4. #4
    Utente di HTML.it L'avatar di vnt54
    Registrato dal
    Mar 2009
    Messaggi
    500
    per il campo SET devi usare find_in_set.
    codice:
    Select * FROM nometabella find_in_set(stringadacercare,nomedelcampo)
    che tradotto sarebbe:
    stringadacercare="A" oppure "ABC" o quello che ti pare
    nomdelcampo=contiene i valori precedentemente inseriti separati dalla virgola

    Ti posto il link per chiarimenti

    http://dev.mysql.com/doc/refman/5.5/...on_find-in-set
    Sono stato nella terra della paura e dei vampiri...in transilvania?NO!..in Banca!

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    3
    grazie mille gentilissimo

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.