Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    111

    duplicazione dei risultato

    ciao a tutti,
    sono a chiedervi un consiglio su un problema che non mi ha fatto dormire.

    devo fare una selezione distinta di tutte le parole chiave appartenenti a delle date schede.
    mi spiego meglio

    ho le schede [1,3,7]
    a queste schede sono associate più parole chiave che per semplicità le inseriro come numeri:

    scheda 1 [1,5,7,9]
    scheda 3 [2,5,7]
    scheda 7 [1,9]

    come faccio a fare una query (MYSQL) in modo che non mi duplichi i valori uguali delle parole chiave?

    avevo pensato a una cosa del genere ma non riesco a scriverla

    select distinct(parola_chiave) from schede GROUP BY idschede (1,3,7)


    qualcuno ha dei consigli?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150

    Re: duplicazione dei risultato

    Originariamente inviato da jotaro_76
    ciao a tutti,
    sono a chiedervi un consiglio su un problema che non mi ha fatto dormire.

    devo fare una selezione distinta di tutte le parole chiave appartenenti a delle date schede.
    mi spiego meglio

    ho le schede [1,3,7]
    a queste schede sono associate più parole chiave che per semplicità le inseriro come numeri:

    scheda 1 [1,5,7,9]
    scheda 3 [2,5,7]
    scheda 7 [1,9]

    come faccio a fare una query (MYSQL) in modo che non mi duplichi i valori uguali delle parole chiave?

    avevo pensato a una cosa del genere ma non riesco a scriverla

    select distinct(parola_chiave) from schede GROUP BY idschede (1,3,7)


    qualcuno ha dei consigli?
    Allora... se MySql, come ipotizzo, ha più o meno la stessa sintassi di Oracle, se fai la group by con IDSCHEDE, non serve fare la distinct perchè già verranno raggruppate (e quindi "distinte"), le IDSCHEDE.

    Se non ho capito male, però

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    111
    codice:
     <% 
    
    set associa=conn.execute("select * from associa where idprofili="&cat("idprofili"))
    if associa.eof=false then%>
    
    <ul class="elenco_profili">
    
    <%
    do while not associa.eof
    idschede=associa("idschede") 'qui ricavo le schede
    %>
    <%
      set parole=conn.execute("select * from tags order by titolo asc")
    do while not parole.eof 'seleziono tutte le parole chiave
    set tag_schede=conn.execute("select idtags from tag_schede GROUP BY idschede ("&idschede&")")
    if tag_schede.eof=false then
    %>[*] <%=parole("titolo")%>
      <%
     end if
    tag_schede.close
    parole.movenext
    loop
    parole.close
    
    %>
    
    <%
    associa.movenext
    loop
    %>
    posto il codice così come l'ho fatto, ma non mi funziona...

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Per ora, invia solo la struttura della tabella (nome tabella, campi e valori contenuti), e quindi il risultato che vuoi ottenere.

    Partiamo da questo e poi lo integriamo nel codice.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    111
    ASSOCIA: è la tabella per correlare le schede con il profilo selezionato
    i campi sono:
    idassocia (numerico - identificativo)
    idschede (numerico - indica l'ID per recuperare la schede nella tabella SCHEDE)
    idprofili (numerico - indica l'ID per recuperare il profilo nella tabella PROFILI)


    TAG_SCHEDE: è la tabella che contiene le correlazioni tra le schede e le parole chiave
    i campi sono:
    idtags: (numerico - indica l'ID per recuperare il nome della parola chiave nella tabella TAGS)
    idschede: (numerico - indica l'ID per recuperare la schede nella tabella SCHEDE)


    TAGS: tabella che contiene tutte le parole chiave
    i campi sono:
    idtags: (numerico - identificativo)
    titolo: (testo - parola chiave)

    la parte in rosso dovrebbe essere il cuore del problema...

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da jotaro_76

    TAG_SCHEDE: è la tabella che contiene le correlazioni tra le schede e le parole chiave
    i campi sono:
    idtags: (numerico - indica l'ID per recuperare il nome della parola chiave nella tabella TAGS)
    idschede: (numerico - indica l'ID per recuperare la schede nella tabella SCHEDE)


    la parte in rosso dovrebbe essere il cuore del problema...
    Puoi inserire anche i valori presenti in Tag_Schede?

    Ovvero, del tipo (valori univoci)
    codice:
    IDtags    idschede
    1           1
    2           3 
    4           6
    3           8
    oppure (valori duplicati su i 2 campi)
    codice:
    IDtags    idschede
    1           1
    1           3 
    4           6
    3           8
    4           5
    6           7

    oppure ancora (valori duplicati a coppie)
    codice:
    IDtags    idschede
    1           1
    1           3 
    4           6
    3           8
    4           5
    6           7
    4           6
    1           3
    9           10

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    111
    si certo, due o più schede possono avere anche le stesse parole chiave
    esempio

    IDTAG IDSCHEDE
    1 1
    3 1
    5 1
    5 3
    3 3
    1 3

    però non si doppiano mai

    IDTAG IDSCHEDE
    1 1
    3 1
    5 1
    1 1 NO! non lo permette perchè esiste di già
    3 3
    1 3

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da jotaro_76
    si certo, due o più schede possono avere anche le stesse parole chiave
    esempio

    IDTAG IDSCHEDE
    1 1
    3 1
    5 1
    5 3
    3 3
    1 3

    però non si doppiano mai

    IDTAG IDSCHEDE
    1 1
    3 1
    5 1
    1 1 NO! non lo permette perchè esiste di già
    3 3
    1 3
    Ok.
    Ora se tu esegui questa select

    select id_schede
    from tag_schede
    group by id_schede

    Estrae (dal primo tuo esempio)

    codice:
    IDSCHEDE
              1
              3
    Giusto? Ho capito bene quello di cui hai bisogno?

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    111
    no, io vorrei che estraesse IDTAG una sola volta
    cioè dal mio primo esempio:

    IDTAGS
    1
    3
    5

    senza duplicarmi i valori IDTAGS uguali per le schede selezionate
    il passaggio successivo sarà visualizzare la parola chiave appartenente a quel dato numero (questo penso di riuiscirlo a fare )

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Ehm...basta cambiare il nome del campo...

    select idtags
    from tag_schede
    group by idtags
    Poi hai scritto "il passaggio successivo sarà visualizzare la parola chiave appartenente a quel dato numero"
    Per fare questo puoi fare in vari modi...uno è questo


    codice:
      Estrae tutte le schede 
    Select titolo
    from tags
    where idtags in (select idtags
                          from tag_schede
                           group by idtags)


    Ora devo chiudere. Leggerò la tua risposta nel pomeriggio.


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.