Originariamente inviato da danysp92
Si, le chiavi primarie sono presenti in ogni tabella
allora ok.... dall'immagine che hai linkato non riesco a capire quale sia la chiave primaria delle tabelle interventi, utilizzi e noleggi... qual'e'?



Originariamente inviato da danysp92
Questa è la query che mi restituisce il prezzo totale dei ricambi utilizzati per un dato intervento di riparazione:

codice:
SELECT SUM(prezzo*qt_usata) AS PREZZORICAMBI 
FROM (riparazioni AS r INNER JOIN utilizzi AS u ON r.idRip=u.codRip) 
INNER JOIN ricambi AS c ON u.codRic=c.idRic 
WHERE idRip=[Inserisci l'id della riparazione];
Mentre questa è quella che mi restituisce il prezzo totale della manodopera per ogni lavoro che è stato fatto in un dato intervento di riparazione:

codice:
SELECT SUM(costo_manodopera) AS PREZZOMANODOPERA 
FROM (riparazioni AS r INNER JOIN interventi AS i ON r.idRip=i.codRip) 
INNER JOIN lavori AS l ON i.codLavoro=l.idLavoro 
WHERE idRip=[Inserisci l'id della riparazione];
ok. se vuoi puoi unirle con una UNION (http://www.liceofoscarini.it/didatti...sql/union.html)

codice:
SELECT SUM(prezzo*qt_usata) AS PREZZO
FROM (riparazioni AS r INNER JOIN utilizzi AS u ON r.idRip=u.codRip) 
INNER JOIN ricambi AS c ON u.codRic=c.idRic 
WHERE idRip=[Inserisci l'id della riparazione];

UNION

SELECT SUM(costo_manodopera) AS PREZZO
FROM (riparazioni AS r INNER JOIN interventi AS i ON r.idRip=i.codRip) 
INNER JOIN lavori AS l ON i.codLavoro=l.idLavoro 
WHERE idRip=[Inserisci l'id della riparazione];
con qeusto otterrai un dataresoult formato da 2 righe.

se invece vuoi un unico righo potrai fare la select della select....
io utilizzo firebird (quindi non lo posso testare con access):

codice:
SELECT SUM(prezzo) as PREZZOTOTALE from 
(
SELECT SUM(prezzo*qt_usata) AS PREZZO
FROM (riparazioni AS r INNER JOIN utilizzi AS u ON r.idRip=u.codRip) 
INNER JOIN ricambi AS c ON u.codRic=c.idRic 
WHERE idRip=[Inserisci l'id della riparazione];

UNION

SELECT SUM(costo_manodopera) AS PREZZO
FROM (riparazioni AS r INNER JOIN interventi AS i ON r.idRip=i.codRip) 
INNER JOIN lavori AS l ON i.codLavoro=l.idLavoro 
WHERE idRip=[Inserisci l'id della riparazione];
)
ciao