Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Filtrare record tramite operazioni matematiche

    Ciao, ho un problema nel mostrare dei risultati a video. Vorrei mostrare le giacenze esterne di alcuni prodotti che sono in affitto. Ho una serie di record che contengono i riferimenti alle uscite dei prodotti in affitto e altri record che contengono i riferimenti agli ingressi degli affitti.

    Esempio:

    articolo A = uscito il 01/01/2010 Qt. +2 pezzi
    articolo B = uscito il 05/02/2010 Qt. +3 pezzi
    articolo A = uscito il 06/03/2010 Qt. +4 pezzi
    articolo C = uscito il 07/04/2010 Qt. +6 pezzi
    articolo C = uscito il 10/05/2010 Qt. +5 pezzi
    articolo A = rientrato il 15/09/2010 Qt. -3 pezzi
    articolo B = rientrato il 18/09/2010 Qt. -2 pezzi
    articolo C = rientrato il 20/09/2010 Qt. -4 pezzi

    ora vorrei sapere i miei affitti esterni, semplicemente in questo modo:

    articolo A = 3 pezzi
    articolo B = 1 pezzo
    articolo C = 7 pezzi

    non riesco a capire come posso fare tramite un'unica query o tramite applicativo, ho provato in tutti i modi ma non arrivo ad una soluzione, mi potete aiutare?

    Mattia
    -------------------------
    Metyuston
    ______________________

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    SELECT articoli, sum(quantita) FROM tabella
    GROUP BY articoli
    ORDER BY articoli

    Se le quantità le archivi con il segno +/-

    Roby

  3. #3
    no il problema è proprio questo, le quantità non sono archiviate con segno +/-, sono tutte positive, vengono distinte dal tipo di documento
    -------------------------
    Metyuston
    ______________________

  4. #4
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    non so come sia organizzato il database,
    ma io avrei fatto una tabella con l'archivio dei prodotti
    ed una tabella con i movimenti (entrate/uscite)
    nella tabella dell'archivio dei prodotti avrei messo un campo
    con la disponibilità totale dei pezzi (quanti ne puoi disporre)
    e un campo con la disponibilità attuale (quanti ne ho in casa adesso)
    Ogni volta che mi entra o esce un articolo, aggiorno la disponibilità attuale di conseguenza.
    Ma se l'applicativo è già fatto la cosa è diversa.
    Se provi a fare la cosa in due fasi, ovvero prima estrai tutti i record
    con movimento in ingresso e li sommi insieme, poi estrai tutti i record
    con movimento in uscita e li sommi, quindi sottrai dalla somma in ingresso
    quelli della somma in uscita, dovresti ritrovarti con il saldo attuale...
    luca
    www.intheweb.it - Internet solutions

  5. #5
    ho pensato anche a questa soluzione in due fasi ma non riesco a venirne a capo:

    faccio un ciclo per tutti gli articoli usciti ed un ciclo per tutti quelli in entrata e li raggruppo per articolo facendo le rispettive somme tramite SUM e GROUP BY

    a questo punto mi trovo con due cicli che mi restituiscono circa questi risultati:

    USCITE
    articolo A = 25 pezzi
    articolo B = 14 pezzi
    articolo C = 10 pezzi

    ENTRATE
    articolo A = 20 pezzi
    articolo B = 3 pezzi
    articolo C = 7 pezzi

    adesso però non capisco come fare le operazioni per le differenze, cioè avendo questi due cicli come faccio ad assegnare le varie variabili per poi fare le operazioni matematiche? Spero di essermi spiegato ...
    -------------------------
    Metyuston
    ______________________

  6. #6
    prova facendo un ciclo nel quale :
    1. cambi il valore dell'articolo
    2. (query1) recuperi tutte le quantità dell'articolo con valore "entrate" (SUM e GROUP BY) e li salvi in una variabile "valore_tot"
    3. (query2) recuperi tutte le quantità dell'articolo con valore "uscite"(SUM e GROUP BY) e li sottrai alla variabile "valore_tot"
    4. stampi a video
    5. riparti col ciclo

  7. #7
    non mi è chiaro il primo punto 1.cambiare il valore dell'articolo, potresti farmi un esempio?
    -------------------------
    Metyuston
    ______________________

  8. #8
    bhè è il codice di articolo che cercherai nella SELECT
    creto che tu usi un WHERE per poter sommare solo le quantità dei vari articoli
    non so come li gestisci
    è quello ke hai gia fatto per avere

    USCITE
    articolo A = 25 pezzi
    articolo B = 14 pezzi
    articolo C = 10 pezzi

    ENTRATE
    articolo A = 20 pezzi
    articolo B = 3 pezzi
    articolo C = 7 pezzi

    ^_^

  9. #9
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    immagino che vorrai visualizzare i prodotti del catalogo in forma tabellare:

    id_prodotto1 nome_prodotto1 pezzi_disponibili1
    id_prodotto2 nome_prodotto2 pezzi_disponibili2
    ....
    id_prodottoX nome_prodottoX pezzi_disponibiliX

    quando hai selezionato il prodotto 1, fai due altre query in cui estrai
    tutti i pezzi in ingresso (es. pezzi_in) e tutti i pezzi in uscita (pezzi_out)
    poi visualizzi la giacenza come
    pezzi_disponibili = pezzi_in - pezzi_out

    poi pasi al prodotto 2 e ripeti tutti e cosi via per tutti i prodotti.
    luca
    www.intheweb.it - Internet solutions

  10. #10
    grazie a tutti, ho risolto con il consiglio di luca, facendo 2 query è stato molto efficace
    -------------------------
    Metyuston
    ______________________

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.