Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di lila89
    Registrato dal
    Oct 2007
    Messaggi
    211

    [asp.net c#] errore query select count, dataset

    ciao,
    ho un problema con un select count;non so è sbagliata la query come forma o come logica...

    ho 2 tabelle:

    utente(username, password, cognome, nome)
    amicizie(kiave1, kiave2)

    username, kiave1 e kiave2 sono le chiavi primarie; le tabelle sono relazionate in qst modo:

    utente.username 1-N amicizie.kiave1
    amicizie.kiave2 1-N utente.username

    per cui un amicizia A amico B è unica, A amico B = B amico A.

    io vorrei estrarre il numero di amicizie che ha ogni singolo utente. ho provato con qst stringa sql:
    codice:
    SELECT username , COUNT(*) FROM utente INNER JOIN amicizie WHERE username = kiave1 or username = kiave2 group by username
    da qui poi dovrei costruire il dataset corrispondente... qlk sa aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di lila89
    Registrato dal
    Oct 2007
    Messaggi
    211
    scusate... risolto.. era sbagliata la logica... a chi interessasse la soluzione è :

    codice:
    "SELECT username, COUNT(*) as N FROM utente, amicizie WHERE username=kiave1 or username=kiave2 GROUP BY username"
    ciao

  3. #3
    Utente di HTML.it L'avatar di lila89
    Registrato dal
    Oct 2007
    Messaggi
    211

    NUOVO problemino

    altro problemino.... dalle due tabelle sopra indicate, devo riuscire a sapere se tra due utenti selezionati c'è un amicizia diretta (ed ok sono riuscita), se non è diretta però vorrei riuscire ad estrarre il persorso più breve tra i due utenti e/o tutti i percorsi possibili tra i due utenti; in modo da capire se c'è un collegamento o meno tra i due...

    mi spiego meglio.. con un semplice esempio:

    A amico C
    C amico F
    C amico E
    E amico F

    utenti selezionati A ed F
    per cui Relazione Diretta= no;
    Percorso breve= A e C, C e F;
    Percorsi totali= 1) A e C, C e F .....2) A e C, C e E, E e F

  4. #4
    Utente di HTML.it L'avatar di lila89
    Registrato dal
    Oct 2007
    Messaggi
    211
    dimenticavo di dire che sto lavorando con la pagina aspx e codice c#.. quindi posso usare i cicli.. ma non so come metterli.. qlk suggeirmento?

  5. #5
    Utente di HTML.it L'avatar di lila89
    Registrato dal
    Oct 2007
    Messaggi
    211
    per esempio la seconda tabella ha i seguenti record:

    Rossi - Verdi
    Rossi - Gialli
    Gialli - Verdi
    Gialli - Viola
    Rosa - Blu

    Supponendo che seleziono l'utente Rossi e l'utente Viola, i percosi che mi interessano dovrebbero risultare così:

    Rossi - Verdi - Gialli - Viola

    Rossi - Gialli - Viola

    (tutti i percorsi possibili per mettere in contatto i due utenti selezionati)

    Se invece seleziono Rossi e Blu il percorso deve essere nullo, e quindi mandare un messaggio con scritto che non è presente nessun percorso.

    Spero di esseermi spiegata meglio di prima..

    ps: moderatori potreste editare il titolo visto che è cambiato il problema e non centra molto con il titolo precedente? (almeno evito di aprire 1000 discussioni).. Thank you

  6. #6
    Utente di HTML.it L'avatar di lila89
    Registrato dal
    Oct 2007
    Messaggi
    211
    Studiando il problema, sono giunta a conclusione che per risolverlo devo usare un loop ricorsivo, guardando su google ho trovato0 qlk informzaione ma non riesco a capire come posso applicarlo al mio problema.... aiutini??

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.