Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    residenza
    Turin, Italy
    Messaggi
    157

    [SQL Server] Raggruppamento

    Ciao,
    ho una tabella in cui si trovano delle azioni, associate ad un utente, che possono essere Open o Closed (ActionStatus). La tabella è di questo tipo
    [ User ] [ Action ] [ ActionStatus ]
    aa A Open
    aa B Open
    aa C Closed
    bb D Open
    bb E Open

    Devo ottenere una tabella dove conto per ogni utente quante azioni Open e quante Closed ho. In pratica:

    [ User ] [ Action Open ] [ Action Closed ]
    aa 2 1
    bb 2 0

    Ci sono modi per ottenere un risultato simile tramite un istruzione SQL, tipo con un COUNT o con un GROUP? Altrimenti lo posso fare con vb.net / ado.net?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select [user],
    sum(case when actionstatus = 'open' then 1 else 0 end) as aperte,
    sum(case when actionstatus = 'closed' then 1 else 0 end) as chiuse
    from tabella
    group by [user]

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    residenza
    Turin, Italy
    Messaggi
    157
    Perfetto.

    Grazie della prontissima dritta. Avevo provato in mille modi, ma qualcosa nella sintassi mi sfuggiva.

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.