none
Query di selezione RRS feed

  • Domanda


  • Un saluto a tutti.
    Ho una tabella con diversi campi, ma che mi interessano sono due:
    AGENDA e GRUPPO

    I due campi sono cosi valorizzati:

    AGENDA  GRUPPO
    AAA         CASA
    AAA         CUP
    AAA         OSTE
    BBB         CASA
    CCC         PIPPO
    CCC         PLUTO
    DDD        PAPERINO

    E' possibile selezionare solo le agende che hanno un solo gruppo collegato, per intenderci, il risultato dovrebbe essere:

    agenda  gruppo
    BBB       CASA
    DDD      PAPERINO

    Grazie e ciao
    Giovanni

    martedì 5 agosto 2014 12:07

Tutte le risposte

  • Ciao Giovanni,

    Prova così:

    WITH cte AS (
        SELECT Agenda, COUNT(Gruppo) AS NumeroGruppi
        FROM Tabella
        GROUP BY Agenda
        HAVING COUNT(Gruppo) = 1
    )
    SELECT t.Agenda, t.Gruppo
    FROM 
        Tabella t 
        INNER JOIN cte ON t.Agenda = cte.Agenda

    HTH


    Alberto Dallagiacoma
    My Italian Blog: http://blogs.ugidotnet.org/alby
    Twitter: http://twitter.com/albertodall
    DotDotNet - User Group .NET Emilia Romagna: http://www.dotdotnet.org

    martedì 5 agosto 2014 12:24
  • Ciao puoi fare qualcosa di simile.

    select * from TuaTabella where agenda in (
    select agenda from TuaTabella Group by agenda having COUNT(agenda) = 1)


    martedì 5 agosto 2014 12:28
  • Ciao.

    Aggiungo un'altra proposta di soluzione.

    SELECT
       *
    FROM
       TABELLA AS T0
    WHERE
    (
       SELECT 
          COUNT(AGENDA)
       FROM
          TABELLA AS T1
       WHERE
          T1.AGENDA = T0.AGENDA
    ) = 1
    mercoledì 13 agosto 2014 08:21