Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    Contare elementi diversi in un campo

    Ho queste 2 tabelle

    ana_utenti
    ----------
    id_utente
    cognome
    nome

    prenotazioni
    ------------
    id_prenotazione
    id_utente
    id_tipo


    In pratica ogni utente può effettuare diverse tipologie di prenotazioni (mettiamo id_tipo = 1 oppure 2).

    Ora vorrei contare quanti id_tipo = 1 e quanti id_tipo = 2 per ogni utente.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Database?

    Questa è per mysql.

    codice:
    select 
    u.cognome,
    u.nome,
    coalesce(sum(id_tipo=1),0) as tot_tipo1,
    coalesce(sum(id_tipo=2),0) as tot_tipo2
    from ana_utenti as u
    left join prenotazioni as p
    on u.id_utente = p.id_utente
    group by u.id_utente

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Sì MySQL.

    Domani la testo, io nel frattempo avevo prima selezionato tutti gli utenti e poi allo scorrere fatto la somma per campi; la tua è sicuramente più performante e corretta.

    La funzione coalesce non l'avevo nemmeno sentita!

    Intanto grazie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Ciao,
    anche se in ritardo volevo ringraziarti dato che la tua query funziona perfettamente e mi ha fatto risparmiare un bel po' di codice!

    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.