Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [SQLITE] contare elementi da tabella

    Intanto Buon Natale a tutti.

    Avrei un problemino da risolvere.

    Ho 3 tabelle così sviluppate:

    TABELLA CLIENTI
    id|nome|cognome|indirizzo|...

    TABELLA FATTURE
    id|idcliente|numero|...

    TABELLA ORDINE
    id|idcliente|numero|...

    Mi occorre un query tale da poter ottenere tutti gli elementi i records della tabella clienti con i relativi campi "nome". "cognome" ed "indirizzo", inoltre per ogni clienti ho bisogno di sapere il numero di fatture e il numero di ordini. Ovviamenti i legame tra tabella Clienti e le altre due è il campo IDCLIENTE che corrisponde all'ID nella tabella Clienti.


    Ho fatto qualche prova ma senza successo. Qualcuno può darmi qualche consiglio.

    GRAZIE.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    select tb_clienti.*,count(tb_fatture.numero),count(tb_ord ini.numero)
    from tb_clienti
    left join tb_fatture on tb_clienti.idcliente = tb_fatture.idcliente
    left join tb_ordini on tb_clienti.idcliente = tb_ordini.idcliente
    group by
    tb_clienti.campo1,
    tb_clienti.campo2,
    ...


    ciao

  3. #3
    Intanto grazie ed auguri.

    Questa sembra esattamente la query che ho provato ad usare (non sono a casa quindi oggi non la posso testare).

    Tuttavia se non ricordo male con questa query i record relativi ai clinti senza fattura e/o ordini non mi vengono visualizzati mentre io ho bisgno di visualizzare sembre tutti i records dei clienti anche quelli senza fattura e/o ordini. Se non hanno fatture e/o ordini vorrei vedere semplicemente 0 come valore della relativa colonna.

    Questa sera testerò la query ma ma sono quasi sicuro che le cose stiano come ho detto.

    Qualche idea?

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    ciao, auguri anche a te.
    Per quanto riguarda la query sottostante, quest'ultima visualizza sempre tutti i clienti e questo grazie alla tipologia di join, che è di tipo left.
    Dove non viene trovata corrispondenza semplicemente visualizzerà null nell'ordine o nella fattura.

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.