Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    [MySQL] - Consiglio su view tra più tabelle

    Ciao a tutti! Vi espongo il mio dilemma:

    Ho 3 tabelle:

    Contatti
    Catetorie
    Rel_Con_Cat


    Nella prima e nella seconda credo sia chiaro cosa c'è mentre nella 3^ ho questi campi:



    id_Res
    id_Con (questa è una Foreign Key con il campo id della tabella contatti)
    id_Cat (questa è una Foreign Key con il campo id della tabella categorie)

    Ho usato questa struttura perchè un contatto possa appartenere a più categorie!!!!

    Quando voglio selezionare i contatti per categoria faccio:

    codice:
    SELECT con.*, cat.*, rel.* 
    FROM contatti con, categorie cat, rel_Con_Cat rel 
    WHERE 
    con.id_Con=rel.idCon_ConCat AND 
    cat.id_Cat=rel.idCat_ConCat AND 
    rel.idCat_ConCat=2
    In questo caso seleziono solo i contatti apparteneneti alla categoria 2!

    Il problema nasce quando voglio vedere tutti i contatti!
    Se non metto l'id della categoria mi lista tutto (e se un utente appartiene a 2 categorie me lo da 2 volte).

    Uso vb.net per gestire il tutto...è sbagliata la mia qry o devo (tramite vb.net) gestire la cosa in modo che se la cat non è selezionata ciclo sulla tabella contatti e via senza passare per la view?

    Grazie!

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290

    Re: [MySQL] - Consiglio su view tra più tabelle

    Originariamente inviato da Veronica80
    Il problema nasce quando voglio vedere tutti i contatti!
    Se non metto l'id della categoria mi lista tutto (e se un utente appartiene a 2 categorie me lo da 2 volte).

    Uso vb.net per gestire il tutto...è sbagliata la mia qry o devo (tramite vb.net) gestire la cosa in modo che se la cat non è selezionata ciclo sulla tabella contatti e via senza passare per la view?

    Grazie!
    E' un associazione molti a molti, ma non capisco esattamente cosa tu voglia.
    Se fai una join con tutti i contatti ovviamente verranno duplicati, perchè un contatto ha più categorie e quindi viene duplicato per ogni categoria.

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Io voglio poter visualizzare tutti i contatti quando la combobox con le mie categorie ha la voce:

    "(tutte le categorie)"

    Ovviamente senza i duplicati!!!


    Però senza dover ricreare un'altra query e funzioni vb.net! Ovviamente se si può fare se no mi creo il resto!

    Sto solo informandomi prima (non essendo ferratissima in sql) di iniziare

    Ho provato con SELECT DISTINCT (che fa quello che mi serve) ma non riesco proprio ad adattarlo al mio scenario!

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    Originariamente inviato da Veronica80
    Io voglio poter visualizzare tutti i contatti quando la combobox con le mie categorie ha la voce:

    "(tutte le categorie)"

    Ovviamente senza i duplicati!!!

    contatti che campi ha?

    Qual'e? la query che non ti da i risultati desiderati?

  5. #5
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Originariamente inviato da Veronica80
    Io voglio poter visualizzare tutti i contatti quando la combobox con le mie categorie ha la voce:

    "(tutte le categorie)"

    Ovviamente senza i duplicati!!!
    Se vuoi selezionare tutti i clienti semplicemente fai
    Select * from Contatti,
    Se invece selezionano una categoria
    Select Contatti.* from
    Contatti inner join Rel_Con_Cat ON blabla
    Inner JOIN Catetorie On blabla
    Where
    idcategoria = quello selezionato

  6. #6
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Alla fine ho usato una select! Con le view non son proprio riuscita :P

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.