Compattare tabella eliminando le colonne con valori zero

di il
4 risposte

Compattare tabella eliminando le colonne con valori zero

Buongiorno a tutti,

Scrivo qui poiché in rete non sono riuscito a trovare una risposta al mio quesito,

Ho creato un db con phpmyadmin, ed ho la tabella tb_ordini in cui ogni record è così costituito:
(ID_Ordine, ID_contratto, Data_ordine, prodotto1, prodotto2,...,prodotto27)

Effettuando una query di selezione con clausola sul campo data, con condizione di "data di Oggi", mi compaiono ovviamente n record per quanti sono gli ordini effettuati alla data odierna.


fin qui tutto ok.

la questione è la seguente:

premesso che ogni giorno, ogni cliente ordinerà poche referenze delle 27 a listino (4, al massimo 5 ), ogni record avrà tanti "zeri", per cui avrò nel recordset restituitomi dalla query alcune "colonne" con tutti zeri.

Siccome il recordset deve essere proiettato a monitor nel reparto di produzione, vorrei "mostrare" solo quelle colonne la cui somma è maggiore di 0.

E' una cosa possibile?

la parte web la sto scrivendo in html e php.


spero di essere stato chiaro nell'esposizione del problema.

Saluti

4 Risposte

  • Re: Compattare tabella eliminando le colonne con valori zero

    Si che è possibile ma è una schifezza la tabella è proprio sbagliata
  • Re: Compattare tabella eliminando le colonne con valori zero

    Ad un ordine devono far capo N prodotti ... ma come righe non come colonne
  • Re: Compattare tabella eliminando le colonne con valori zero

    Io avevo pensato il db in questo modo:

    tb_cliente: ID_cliente come chiave primaria e tutti i campi dell'anagrafica cliente (ragione sociale, indirizzo, mail, ecc.),

    questa tabella in relazione 1 a molti con la tabella denominata tb_contratti (ID_contratto PK, ID_cliente fk, turno di produzione, ed altri campi riguardanti lo specifico contratto) in quanto lo stesso cliente può stipulare più tipologie di contratto.

    infine, la tabella tb_contratti in relazione uno a molti con la tabella tb_ordini (ID_ordine PK, ID_contratto fk, Data ordine, Prodotto1, prodotto2,...,prodotto27).

    sembrava andare tutto bene fino a quando non mi sono imbattuto in questa problematica.....

    l'intoppo, a quanto mi pare di capire, sta in tb_ordini, ma non saprei come riconsiderarla, in quanto imaginavo che ogni ordine di produzione dovrebbe corrispondere ad un record, ecco perché mi trovo le categorie di prodotti come campi ed ogni record rappresenta le quantità da produrre.

    Come potrei riconsiderare la tabella ordini?
  • Re: Compattare tabella eliminando le colonne con valori zero

    1 a molti
    ordini:
    id_ordine PK
    cliente FK >> si collega al campo Id_Cliente della tabella clienti
    in sede di query filtri per cliente e range data dal.. al.. e ottieni tutti gli ordini per il cliente.
Devi accedere o registrarti per scrivere nel forum
4 risposte