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
Si, le chiavi primarie sono presenti in ogni tabella![]()
ok. se vuoi puoi unirle con una UNION (http://www.liceofoscarini.it/didatti...sql/union.html)Originariamente inviato da danysp92
Questa è la query che mi restituisce il prezzo totale dei ricambi utilizzati per un dato intervento di 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(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];
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];
con qeusto otterrai un dataresoult formato da 2 righe.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];
se invece vuoi un unico righo potrai fare la select della select....
io utilizzo firebird (quindi non lo posso testare con access):
ciaocodice: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]; )

Rispondi quotando