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!!!