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

    [MySQL] Permesso ereditato

    Ciao a tutti.

    Ho 3 tabelle: "articoli", "categoria", "sottocategoria" Ciascuna con il campo "permesso" (di visione).

    Faccio la ricerca dei record nella tabella "articoli".
    codice:
    "SELECT * FROM articoli WHERE permesso ='si'  "
    Fin qui nulla di speciale.
    Nel caso, però, che il permesso sia ereditato dalla tabella "sottocategoria", che magari a sua volta lo eredita dalla tabella "categoria", come faccio a determinare il permesso?

    Esempio:
    codice:
    "SELECT * FROM articoli WHERE permesso ='si' OR permesso='ereditato'  "
    Se permesso='ereditato' come faccio a ottenere l'informazione "permesso" dalla tabella sottocategoria, e a sua volta:
    Se in sottocategoria permesso='ereditato' come faccio a ottenere l'informazione "permesso" dalla tabella categoria?

    Grazie di cuore.
    Se avessi voluto risolvere i problemi con la forza, sarei nato Jedi.

  2. #2
    ciao, non ho ben capito il problema, comunque potresti utilizzare delle subquery.

  3. #3
    Grazie di aver risposto.
    Immagino che le subquery siano quello che cerco.

    Infatti si tratterebbe, se la condizione è permesso="ereditato" di inviare ulteriore una query: una query nella query.

    Solo che non so cosa cercare!
    Mi sarebbe molto utile anche il nome della funzione, in modo da poter fare una ricerca.
    Se avessi voluto risolvere i problemi con la forza, sarei nato Jedi.

  4. #4
    Perfetto.

    La parola magica si cui avevo bisogno è subquery.

    Grazie a bomberdini.

    codice:
    "SELECT * FROM articoli WHERE (permesso='si'  OR (permesso='ereditato' AND(permesso)IN(SELECT permesso FROM sottoctegoria where id=articoli.id_sottocategoria AND permesso='si')))  "
    Ora non mi resta che andare in cascata fino alla categoria principale.

    Dovrebbe esserci il tasto [risolto] da qualche parte...
    Se avessi voluto risolvere i problemi con la forza, sarei nato Jedi.

  5. #5

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.