Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: [SQL] Query Count

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

    [SQL] Query Count

    Ciao a tutti..ho una stringa sql che mi sta facendo diventare matta. Spero che qualcuno di voi potrà aiutarmi.

    codice:
    CLIENTI
    IdCliente  |  Cognome  |  Nome 
    13         |  Rossi    |  Gianluca
    15         |  Bianchi  |  Claudio
    22         |  Terrini  |  Maria
    codice:
    ABBONAMENTI
    IdAbbonamento   |  IdCliente  |  NomeAbbonamento 
    1               |  13         |  Menu n°1
    2               |  22         |  Menu n°4
    3               |  13         |  Menu n°10
    4               |  15         |  Menu n°6
    Queste sono le due tabelle. In pratica voglio creare una stringa sql che mi visualizzi tutta la tabella clienti...

    codice:
    Select * From Clienti
    ...che mi aggiunge un campo in più alla tabella clienti...

    codice:
    Select IdCliente, Cognome, Nome, NumeroAbbonamenti From Clienti
    ...e che nel campo NumeroAbbonamenti mi visualizzi, per ogni recordset, il numero di abbonamenti che ha il cliente...!!??? Coma faccio ???

    Ho provato con il Count...

    codice:
    Select Count(*) As NumeroAbbonamenti From Abbonamenti, Clienti Where Abbonamenti.IdCliente=13
    ...ma mi da un campo di nome NumeroAbbonamenti che mi restituisce 2...è giusto che mi restituisca 2 abbonamenti per il cliente 13, ma voglio vedere tutti i clienti con la loro rispettiva quantità di abbonamenti. In pratica dovrebbe uscire così...

    codice:
    QUERY
    IdCliente  |  Cognome  |  Nome      |  NumeroAbbonamenti
    13         |  Rossi    |  Gianluca  |  2
    15         |  Bianchi  |  Claudio   |  1
    22         |  Terrini  |  Maria     |  1
    ...spero che qualcuno riesca ad aiutarmi!!

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    bè se tu gli hai messo questo
    Where Abbonamenti.IdCliente=13
    la vedo un po difficile.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Sposto la discussione nel forum generico, in quanto si tratta di SQL.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    x cassano: Quindi ? ?

    x alka: scusa!!

  5. #5
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    codice:
    SELECT IdCliente, Cognome, Nome, (Select Count(*) From Clienti, Abbonamenti Where Abbonamenti.IdCliente=Clienti.IdCliente) AS NumeroAbbonamenti
    FROM Clienti
    Ho provato in questo modo e sembra quasi funzionare...

    - Mi visualizza tutti i clienti della tabella Clienti - PERFETTO
    - Mi ha aggiunto il campo NumeroAbbonamenti - PERFETTO
    - Il campo NumeroAbbonamenti mi restituisce il totale dei clienti che hanno degli abbonamenti - AZZ... - dato che nella tabella abbonamenti ci sono 48 clienti che hanno un'abbonamento, il valore è 48!!! Come faccio a restituire il valore giusto per ogni recordCliente ? ? ? Il valore giusto sarebbe la somma dei suoi abbonamenti che ci sono nella tabella Abbonamenti.

  6. #6
    Prova così:
    codice:
    SELECT clienti.idcliente,clienti.cognome,clienti.nome, count(abbonamenti.idcliente) as nAbb from clienti, abbonamenti where clienti.idcliente=abbonamenti.idcliente GROUP BY clienti.idcliente,clienti.nome,clienti.cognome
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  7. #7
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    Originariamente inviato da Shagrat
    Prova così:
    codice:
    SELECT clienti.idcliente,clienti.cognome,clienti.nome, count(abbonamenti.idcliente) as nAbb from clienti, abbonamenti where clienti.idcliente=abbonamenti.idcliente GROUP BY clienti.idcliente,clienti.nome,clienti.cognome
    SEI UN MAGO...ti ringrazio tantissimo!!!

  8. #8
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    Scusami, ma ho notato una cosa che purtroppo manca...mancano tutti i clienti che non hanno abbonamenti!!! Riusciresti a correggermi la stringa che mi hai scritto prima per favore.

  9. #9
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    Ci sto provando, ma nn so più dove mettere le mani!!! Non riesco a capire come potrei fare!!

  10. #10
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    Niente!!???

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 © 2024 vBulletin Solutions, Inc. All rights reserved.