Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Due query in una?

  1. #1

    Due query in una?

    Non riesco a fare una query. Mi potete aiutare?

    Ho una tabella fatta in questo modo:
    UTENTI
    Id
    Nome

    e un'altra fatta in questo:
    ASSOCIAZIONI
    utente_a --> riferimento di id Utenti
    utente_b --> riferimento di id Utenti

    Vorrei fare in una query sola:

    1- ottenere tutti gli utenti della tabella utenti tranne un specifico ID
    2- contare quante associazioni ci sono tra l'utente che fa la richiesta(utente_a) e ogni singolo utente ottenuto dalla prima query

    Quello che faccio adesso è così:
    SELECT * FROM Utenti where id != id_richiedente
    Il risultato lo metto in un ArrayList
    Scorro l'arraylist e per ogni elemento faccio:

    Select count(*) FROM associazioni where utente_a=id_richiedente AND utente_b=elemento_i_della_lista

    Mi pare troppo lungo come procedimento.
    Credo si possa fare tutto in una sola query ma non riesco

    ESEMPIO
    Utenti
    Id Nome
    1 Pippo
    2 Pluto
    3 Paperino

    Associazioni
    utente_a utente_b
    1 2
    1 2

    Se id_richiedente = 1 il risultato che vorrei è:

    Id Nome Cont
    2 Pluto 2
    3 Paperino 0

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: Due query in una?

    Ciao, farei così:
    codice:
    SELECT u.nome, (select count(*) from associazioni a where a.id_utente = u.id)
    FROM utenti u
    where u.id != idscarto

  3. #3
    grazie

  4. #4
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da Chiara3.0
    grazie

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.