Originariamente inviato da mefisto_ax
.... come faccio a creare un nuovo campo partendo da una query ?
Nel senso, tu mi dici di considerare DataDiInizio ....., ma il risultato dove lo metto ?
......
Non ho capito che significa + SommaAlgebrica tabella Movimenti
SommaAlgebrica tabella Movimenti è un modo italiano ( non SQL ) per dirti di
calcolare la:
-- Somma del Prezzo degli Articoli (accuistati/venduti) x la Quantita
__________________________________________________ ______________________
In effetti la domanda di Optime è importante,
se il 2.35 non e uguale per tutte le persone
( oppure se potrebbe cambiare nel tempo per la stessa persona )
allora va considerato subito
__________________________________________________ ______________________
Comunque per rispondere alle domande,
se tu hai queste 3 tabelle ( Che ho semplificato )
----- tabella PERSONE
idP (contatore, KeyPrimaria)
Nome (testo)
DaIn (DataOra) La data di iscrizione/Inizio della Persona
----- tabella ARTICOLI
idA (contatore, KeyPrimaria)
Arti (testo)
Prez (valuta)
------ tabella MOVIMENTI
idM (contatore, KeyPrimaria)
Quan (numerico)
Casu (NotNull, Valori ammessi solamente "a" oppure "v" ( accuisto / Vendita))
idAM (numerico, chiave esterna della tabella ARTICOLI.idA)
idPM (numerico, chiave esterna della tabella PERSONE.idm)
Con questa Vista riesci a calcolarti il CreditoResiduo di ogni persona
Ti ho volutamente lasciato tutti i campi per renderla piu comprensibile
codice:
SELECT
PERSO.idP,
PERSO.Nome,
((Date()-[PERSO].[DaIn])*2.35) AS CreRes1,
Sum(IIf([MOVIM].[Casu]="v",[MOVIM].[Quan]*[ARTIC].[Prez],0)+IIf([MOVIM].[Casu]="a",[MOVIM].[Quan]*[ARTIC].[Prez]*-1,0)) AS CreRes2,
[CreRes1]+[CreRes2] AS CreResTot
FROM
PERSO
LEFT JOIN
(
ARTIC
RIGHT JOIN
MOVIM
ON
ARTIC.idA = MOVIM.idAM
)
ON
PERSO.idP = MOVIM.idPM
GROUP BY
PERSO.idP,
PERSO.Nome,
((Date()-[PERSO].[DaIn])*2.35)
;
Facci Sapere
.