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