Info Struttura tabella Mysql

sabato 02 giugno 2012 - 12.19
Tag Elenco Tags  MySQL 5.5

rob88 Profilo | Junior Member

Ragazzi dovrei memorizzare delle movimentazioni in un database dove ogni movimentazione ha la sua determinata causale(caricato,scaricato,trasferito...etc) . La struttura è la seguente:
Id IdCliente Importo Data Causale
1 10 100 01/06/12 Carico
2 10 50 02/06/12 Scarico
2 10 20 02/06/12 Scarico
3 10 200 02/06/12 Trasferito
4 10 400 03/06/12 Carico

Quello che vorrei ottenere con la query è il seguente risultato:
Data Carico Scarico Trasferito
01/06/12 100 0 0
02/06/12 0 70 200
03/06/12 400 0 0
Ora vi chiedo se la mia tabella cosi strutturata mi consente di fare quanto detto, perchè non ne riesco a venire a capo.
Grazie!!!

renarig Profilo | Expert

>ogni movimentazione ha la sua determinata causale(caricato,scaricato,trasferito...etc)
>Id IdCliente Importo Data Causale
>1 10 100 01/06/12 Carico
>2 10 50 02/06/12 Scarico
>2 10 20 02/06/12 Scarico
>3 10 200 02/06/12 Trasferito
>4 10 400 03/06/12 Carico


>Quello che vorrei ottenere con la query è il seguente risultato:
>Data Carico Scarico Trasferito
>01/06/12 100 0 0
>02/06/12 0 70 200
>03/06/12 400 0 0
>Ora vi chiedo se la mia tabella cosi strutturata mi consente
>di fare quanto detto, perchè non ne riesco a venire a capo.


La chiave della risposta sta in qualcosa che non ci hai ancora detto,
Nel campo "Causale" cosa viene scritto ?
__ Carico Scarico Trasferito come nell'esempio dei record
__ caricato scaricato trasferito come citi nella prima riga
__ cosa significa quell' "ecc" che citi in prima riga

____________________________________________________________


In pratica se nel campo Causale


ci sono scritti in modo regolare un numero limitato
di tipologia allora è semplice.

mentre se si tratta di un banale campo di testo dove
potrebbe esserci scritto: Caricato, Carico, car
allora la vedo dura

__________________________________________________________


Ma se puoi raccogliere con regolarita almeno i primi 3
caratteri Car Sca Tra ci semplifica la vita.




Facci sapere











rob88 Profilo | Junior Member

Ho fatto un pò di confusione...il campo "causale" è popolato con valori fissi limitati "carico,scarico,trasferito", non è un campo di testo libero..
Grazie

renarig Profilo | Expert

>il campo "causale" è popolato
>con valori fissi limitati "carico,scarico,trasferito", non è
>un campo di testo libero..



con queste premesse è possibile arrivare al tuo risultato.

Generi una vista con 4 campi
__ Data
__ Se Causale = Carico scrive Importo diversamente 0
__ Se Causale = Scarico scrive Importo diversamente 0
__ Se Causale = Trasferito scrive Importo diversamente 0


Questa Vista viene raggruppata per data e sommata sugli altri 3 campi

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Faci Sapere
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5