Ho una tabella Clienti che contiene i seguenti dati:
Ho una tabella Abbonamenti 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 |
La multitabella composta dalle due tabelle precedenti deve risultare così: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 |
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:| IdCliente | Cognome | Nome | NumeroAbbonamenti | | 1 | Bertuzzi | Alessandro | 1 | | 2 | Elini | Maria | 1 | | 3 | Andreatti | Marco | 0 | | 4 | Rossi | Emilio | 2 |
...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).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;
Spero che qualcuno di voi riesca ad aiutarmi...grazie mille!!!![]()

Rispondi quotando