Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [MySql] SELECT e array

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    13

    [MySql] SELECT e array

    Dovrei fare una cosa del genere ma non ne cavo le gambe...

    Ho un Array:
    $ricerca =(1,2,3,4)

    Ho un campo di una tabella che si chiama servizi_tabella:
    Ho dei record con i seguenti valori

    Record1: servizi_tabella=(5,10,12)
    Record2: servizi_tabella=(1,22,34)
    Record3: servizi_tabella=(3,2,4)

    Il risultato deve dare Record 2 e Record 3

    In pratica mi deve dare in uscita tutti i record che hanno in servizi_tabella almeno un valore presente nell'array. Ho provato con l'operatore IN ma mi funziona solo se ho un singolo valore non un array.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Il consiglio più sensato è quello di normalizzare la tabella.

    Quindi
    codice:
    1 5
    1 10
    1 12
    2 ...
    2
    2
    3 3
    3 2
    3 4
    A quel punto puoi agevolmente cercare ciò che vuoi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    13
    Non esiste un operatore tipo INTERSECT_ARRAY del php che restituisce solo i valori uguali di due array?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    L'unica soluzione che mi viene in mente è:

    codice:
    select * from tabella
    where 
    find_in_set(1,servizi) or
    find_in_set(2,servizi) or
    find_in_set(3,servizi) or
    find_in_set(4,servizi)
    ma è una schifezza. Normalizza la base dati come ti ho già scritto.

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.