Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    13

    Replace su campo tabella

    Salve,
    ho questo campo di TABELLA
    SERVIZI_TABELLA= 1001,1002,1003

    Ho questo codice mysql
    SELECT * FROM TABELLA WHERE 1001 IN (SERVIZI_TABELLA)

    L'operatore IN funziona solo con gli apici e cioe con :
    WHERE 1001 IN ('1001','1002','1003')

    A questo punto è possibile fare un replace al volo nel codice SQL per convertire (1001,1002,1003) in ('1001','1002','1003')?

    Oppure c'è un approccio alternativo al problema?

    Grazie fin da subito delle eventuali risposte.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ricordati di specificare nel titolo del thread quale database usi.

    Il tuo problema è risolvibile così

    SELECT * FROM TABELLA WHERE find_in_set(1001,SERVIZI_TABELLA)

    peraltro sarebbe bene che normalizzassi la tabella.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    13
    Si scusami... mi avevi gia detto di normalizzare... Ho cercato ma non sono riuscito a trovare niente. Hai dei doc da suggerire?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Guazza78
    Si scusami... mi avevi gia detto di normalizzare... Ho cercato ma non sono riuscito a trovare niente. Hai dei doc da suggerire?

    http://it.wikipedia.org/wiki/Normali...e_del_database

    Se fai una ricerca su google trovi tantissimo materiale, anche dispense di corsi universitari.

  5. #5
    Ciao,

    come da regolamento va inserito il nome della piattaforma del database nel titolo, in questo caso mysql. Per questa volta correggo io, ma più attenzione in futuro gentilmente

    Poi magari se dai una bella (ri)lettura al regolamento fai un'ottima cosa
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    13
    Scusami se ti rompo ancora. Mi sono informato circa la normalizzazione di un database, ma a quanto ho capito si tratta di una procedura da fare in progettazione, quindi nella fase preliminare all'inserimento vero e proprio dei dati.

    Io non posso intervenire nella base di dati progettata da altri.

    C'è un modo di normalizzare, con una query, una tabella che ha un campo di valori separati da virgole tipo (1001,1002,1003)?

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Guazza78
    Io non posso intervenire nella base di dati progettata da altri.

    C'è un modo di normalizzare, con una query, una tabella che ha un campo di valori separati da virgole tipo (1001,1002,1003)?
    Se sostieni di non poter metter mano al db e di dover lasciare le tabelle così come sono state concepite (male) cosa vuoi normalizzare, per giunta con una query?

    Con una query potrai fare qualche accrocchio per recuperare alla meno peggio i dati che ti servono, vedi l'esempio di find_in_set() .

  8. #8
    non capisco la query orginale

    SELECT * FROM TABELLA WHERE 1001 IN (SERVIZI_TABELLA)

    come sono relazionate TABELLA e SERVIZI_TABELLA?

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da optime
    non capisco la query orginale

    SELECT * FROM TABELLA WHERE 1001 IN (SERVIZI_TABELLA)

    come sono relazionate TABELLA e SERVIZI_TABELLA?
    Ciao optime.
    A inizio thread aveva specificato che servizi_tabella è un campo della tabella stessa nel quale sono inseriti più valori.

  10. #10
    azz, la fretta. e allora non basta una LIKE?

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.