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

.