[ACCESS 2010] Prodotto tra campi di tabelle diverse

mercoledì 03 ottobre 2012 - 22.10

thebusterazz Profilo | Newbie

ciao a tutti, torno a chiedere il vostro aiuto. Allora la situazione in cui mi trovo è la seguente, ho tre diverse tabelle:

MAGAZZINO(codice,descrizione,prezzo)
IMBALLAGGIO(cod,descrizione,costo totale)
UTILIZZO(codice, cod,utilizzo)

in pratica nel mio caso, ogni imballaggio è costituito da elementi presenti in magazzino ( es: imballaggio "cartone", è costituito da "nastrino" ( magazzino), "spugna" (magazzino). Dunque ho creato una tabella intermedia nella quale ogni record contiene il codice dell'imballaggio, il codice del prodotto di magazzino, e il grado di utilizzo (es: 2 nastrini).

______________ MAGAZZINO________________UTILIZZO __________________IMBALLAGGI
______________codice | desc | prez_____codice| cod | utilizzo_________cod | descrizione
______________123____|nastrino|_3€ _______123__|55 | 2______________55___|cartone

ora vorrei che il campo "costo totale" relativo ad un imballaggio non sia altro che il prodotto tra il prezzo singolo e l'utilizzo del codice utilizzato. Quindi la domanda è:

Come si fa a creare un campo calcolato in cui la funzione è il prodotto di due valore appartenenti a tabelle diverse da quella in cui viene calcolato?


Antonio

alx_81 Profilo | Guru

>ciao a tutti, torno a chiedere il vostro aiuto.
ciao
>______________ MAGAZZINO________________UTILIZZO __________________IMBALLAGGI
>______________codice | desc | prez_____codice| cod | utilizzo_________cod
>| descrizione
>______________123____|nastrino|_3€ _______123__|55 | 2______________55___|cartone
>
>Come si fa a creare un campo calcolato in cui la funzione è il
>prodotto di due valore appartenenti a tabelle diverse da quella
>in cui viene calcolato?
in una select al volo:
SELECT M.codice, M.desc, M.prez, M.codice, U.utilzzo, (U.utilizzo * M.prez) as Prodotto FROM MAGAZZINO M INNER JOIN UTILIZZO U ON U.codice = M.codice INNER JOIN IMBALLAGGI I ON I.cod = U.cod

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

thebusterazz Profilo | Newbie

grazie per la risposta, tuttavia questo codice dove lo dovrei inserire? se vado a modificare la tipologia del campo della mia tabella non c'è da nessuna parte la possibilità di inserire codice sql

alx_81 Profilo | Guru

>grazie per la risposta, tuttavia questo codice dove lo dovrei
>inserire? se vado a modificare la tipologia del campo della mia
>tabella non c'è da nessuna parte la possibilità di inserire codice
>sql
Ma tu vuoi farlo direttamente sulla tabella? Io ti ho passato un esempio di query..
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

thebusterazz Profilo | Newbie

Sisi vorrei farlo direttamente da tabella; è possibile?

Cmq la tua query deve contenere qualche errore in quanto mi dice manca un operatore

alx_81 Profilo | Guru

>Sisi vorrei farlo direttamente da tabella; è possibile?
Siccome si tratta di due tabelle distinte, no, non puoi fare un campo calcolato cross tabelle.
L'unica è una query.

>Cmq la tua query deve contenere qualche errore in quanto mi dice manca un operatore
abitudine.. ho scritto una sintassi che credevo compatibile (l'ho fatta con SQL Server).
La query che access beve è questa:
SELECT M.codice, M.desc, M.prez, M.codice, U.utilzzo, (U.utilizzo * M.prez) as Prodotto FROM MAGAZZINO as M INNER JOIN (IMBALLAGGI as I INNER JOIN UTILIZZO as U ON I.cod = U.cod) ON U.codice = M.codice



--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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