Visualizzazione dei risultati da 1 a 10 su 14

Visualizzazione discussione

  1. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Facci qualche esempio.
    Intanto grazie per la risposta.
    La mia situazione è questa: ipotizziamo una gestione di magazzino con carichi (rifornimenti) e scarichi (vendite) degli articoli.

    Ho creato una tabella "magazzino" in cui sono memorizzate entrambe le azioni
    Snapshot_3.jpg

    Nella fattispecie, quando si tratta di un carico, mi ritrovo con una situazione del genere:
    Snapshot_4.jpg

    Nel caso di uno scarico, la situazione è questa:
    Snapshot_5.jpg

    (da notare che idTipologiaMovimento è una chiave esterna ad una tabella in cui sono memorizzati i due tipo di movimento possibili, 1 è l'id relativo al carico, 2 allo scarico)
    A seconda del tipo di movimento, insomma, restano NULL alcune colonne piuttosto che altre. Da notare che nel caso dello scarico c'è il riferimento al codiceOrdine, che è un collegamento 1 a molti verso la tabella ordini dalla quale prelevo i dettagli relativi ad un acquisto (id prodotti, relativa quantità e prezzo).
    Concettualmente ordini dovrebbe essere ok, il mio dubbio è unicamente nel calderone che ho creato in magazzino in cui ho messo sia i carichi che gli scarichi laddove potrei creare tabelle distinte.

    Allo stato attuale mettiamo che io voglia prelevare tutti gli articoli e calcolarne la disponibilità (il numero di pezzi rimanenti) in base ai carichi e gli scarichi, esce una cosa del genere:

    Codice PHP:
    SELECT *, 
     
    SUM( IF(magazzino.idTipologiaMovimento=2, -magazzino.quantitamagazzino.quantita) - IFNULL(ordini.quantita,0) ) AS disponibilita
    FROM catalogo
    JOIN articoli ON catalogo
    .Articoli_IDArticoli=articoli.ID
    JOIN categorie ON categorie
    .ID=articoli.Categoria_IDCategoria
    JOIN magazzino ON magazzino
    .idArticolo=articoli.ID
    LEFT JOIN ordini on 
    (magazzino.idArticolo=ordini.idArticolo AND idTipologiaMovimento=2
    Il progetto funziona, ma mi rendo conto che è poco intuitivo come struttura
    Ultima modifica di American; 18-08-2014 a 13:03

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.