Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [SQL] Query Count

  1. #1
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224

    [SQL] Query Count

    Ho una tabella Clienti che contiene i seguenti dati:

    codice:
    | IdCliente |   Cognome   |    Nome    | Visible |
    | 1         |   Bertuzzi  | Alessandro | True    |
    | 2         |   Elini     | Maria      | True    |
    | 3         |   Andreatti | Marco      | False   |
    | 4         |   Rossi     | Emilio     | True    |
    Ho una tabella Abbonamenti che contiene i seguenti dati:

    codice:
    | IdAbbonamento |   IdCliente   | Visible |
    | 1             |   1           | False   |
    | 2             |   2           | True    |
    | 3             |   4           | True    |
    | 4             |   3           | False   |
    | 5             |   1           | True    |
    | 6             |   4           | True    |
    | 7             |   2           | False   |
    La multitabella composta dalle due tabelle precedenti deve risultare così:

    codice:
    | IdCliente |   Cognome   |    Nome    | NumeroAbbonamenti |
    | 1         |   Bertuzzi  | Alessandro | 1                 |
    | 2         |   Elini     | Maria      | 1                 |
    | 3         |   Andreatti | Marco      | 0                 |
    | 4         |   Rossi     | Emilio     | 2                 |
    Io ho già creato una stringa sql che mi consente di fare questo calcolo, ma non riesco a integrare in questa stringa la condizione dei campi Visible. La stringa sarebbe questa...

    codice:
    SELECT Clienti.IdCliente, Clienti.Cognome, Clienti.Nome, Count(Abbonamenti.IdCliente) AS NumeroAbbonamenti
    FROM Clienti LEFT JOIN Abbonamenti ON Clienti.IdCliente=Abbonamenti.IdCliente
    GROUP BY Clienti.IdCliente, Clienti.Cognome, Clienti.Nome;
    ...ma purtroppo non vede se un campo è Visible o meno. In pratica dovrebbe calcolare per ogni cliente tutti gli abbonamenti visibili, e se tutti gli abbonamenti del cliente non sono visibili mi deve restituire zero. Ovviamente se un cliente non è visibile non dovrà risultare visibile anche nella query (anche se ci sono dei suoi abbonamenti visibili).

    Spero che qualcuno di voi riesca ad aiutarmi...grazie mille!!!

  2. #2
    dovrebbe essere sufficiente inserire la condizione 'True' in AND nel WHERE.

    codice:
    WHERE Clienti.visible = 'True'
    AND Abbonamenti.visible = 'True'

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.