Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    41

    Select dei clienti e loro dati aggiuntivi... Forse select impossibile...

    Buongiorno a tutti,
    Ho un database access a cui accedo da pagine asp.

    Devo realizzare un'unica Select che mi restituisca i record dei clienti ed i valori dei loro dati correlati(salvati in altre tabelle)

    Nella pratica devo ottenere un risultato di questo tipo:
    -Pippo Srl | numero ordini:3 | Tot. fatturato: 4.500 | Spedizioni in corso: 0
    -Pluto Spa | numero ordini:0 | Tot. fatturato: 0 | Spedizioni in corso: 0
    -Topolino Sas | numero ordini:6 | Tot. fatturato: 18.200 | Spedizioni in corso: 2

    Semplificando, la struttura tabellare è cosi composta:

    TABELLA CLIENTI
    id_cliente | nome_cliente | ecc.ecc.

    TABELLA ORDINI
    id_ordine | id_cliente | totale_ordine | ordine_fatturato(si/no)

    TABELLA SPEDIZIONI
    id_spedizione | id_cliente | spedizione_in_corso(si/no)

    La mia select deve poter essere ordinata per numero spedizioni, numero ordini, ecc. Ed inoltre nei criteri Where bisogna poter specificare di selezionare solo clienti il cui fatturato è maggiore di X o solo clienti che hanno zero ordini o piu ordini di X.

    Il mio problema è che i valori che devono soddisfare i criteri e per cui deve essere ordinata la select, sono valori che non ho nella mia riga, suppongo debbano essere calcolati da una sub-select, ma non ho proprio idea della sintassi, di come farlo, e se sia effettivamente possibile includere il tutto in un'unica select..

    Grazie a chiunque sappia darmi un aiuto

  2. #2
    Ciao scusami, il fatturato come lo ricavi? Cosa c'è scritto nella tabella ORDINI?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    41
    Ciao, in pratica nella tabella ordini, scrivo l'id_cliente che ha effettuato l'ordine stesso, il totale ordine è gia il totale del singolo ordine stesso! Il fatto che questo importo venga considerato ai fini del fatturato totale del cliente me lo da il checkbox si/no se quell'ordine è stato gia fatturato o no

    Alcuni clienti hanno piu ordini ed altri non ne hanno nessuno

  4. #4
    Ciao, sappi che è possibile, però è complicato >.< ci sto lavorando sù, quando ci sono riuscito te lo faccio sapere

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    41
    Grazie mille!
    Diciamo che concettualmente ho intuito che bisognerebbe fare delle sub select sulle tabelle aggiuntive, salvarsi il valore in una variabile di appoggio e inglobare il tutto nella select principale.
    Il fatto è che mi mancano le sintassi per ottenere cio!
    Io arrivo alle innnerjoin per combinare piu dati in diverse tabelle, ma questo caso è piu complesso....

  6. #6
    Potrebbe essere così:
    codice:
    SELECT nome_cliente, numero ordini, fatturato, numero_spedizioni
    FROM CLIENTI C, (
    	SELECT C.id_cliente, numero_ordini, SUM(totale_ordine) AS fatturato, numero_spedizioni
    	FROM CLIENTI C, ORDINI O, (
    					SELECT id_cliente, COUNT(*) AS numero_ordini
    					FROM ORDINI
    					GROUP BY id_cliente
    	) AS STAT_O, (
    				SELECT id_cliente, COUNT(*) AS numero_spedizioni
    				FROM SPEDIZIONI
    				WHERE spedizione_in_corso = true
    				GROUP BY id_cliente
    	) AS STAT_S
    	WHERE C.id_cliente = O.id_cliente
    	AND C.id_cliente = STAT_O.id_cliente
    	AND C.id_cliente = STAT_S.id_cliente
    	AND ordine_fatturato = true
    	AND numero_ordini = :n
    	GROUP BY C.id_cliente
    	HAVING SUM(totale_ordine) > :x
    ) AS STAT_C
    WHERE C.id_cliente = STAT_C.id_cliente
    ORDER BY numero_spedizioni, numero_ordini
    :n e :x sono i due valori da verificare

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    41
    Azz... Bella complessa....a breve provo a implementarla!!!!
    Sei stato non utile, di più! Non ci sarei mai arrivato da solo!!!

  8. #8
    Risolvendola ho fatto un po' di ripasso di SQL cmq il trucco è capire quali informazioni ti servono e da dove le puoi ricavare

    Cmq prego

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    41
    ZioLuffio, ti ho mandato un messaggio privato qui sul forum...dacci un'occhiata!

  10. #10
    Ti ho risposto ^^

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.