da GraziaR. » mar nov 14, 2006 3:34 pm
Entrambe le soluzioni non funzionano, soprattutto la seconda perché dopo from vanno solo i nomi dele tabelle. Select deve visualizzare la somma dei costi diversi dei componenti quando gira. Se, per esempio, ci sono due costi 50000, nella somma ne viene conteggiato solo uno e quest'ultimo viene sommato agli altri purchè questi non siano duplicati. Quindi distinct visualizza i costi unici eliminando i valori doppi, mentre sum fa la somma dei costi unici, cioè diversi tra loro senza che si ripetino nella somma. La query che ho suggerito prima è esatta perché nella traccia del compito c'è la soluzione. Il problema è che non gira e quindi alla sua esecuzione mi dà l'errore 3085. Vorrei sapere se è necessario definire la funzione distinct. Se è così come? E, inoltre, come risolvere l'errore 3085? La query della traccia è la seguente: chiede di sommare i costi diversi di tutti i componenti. Il campo da utilizzare è Com_Costo. Applicare a Com_Costo prima distinct e poi sum. Quindi distinct va tra parentesi dopo sum.
La soluzione è la seguente:
SELECT SUM(DISTINCT Com_Costo)
FROM Componenti.
SUM E DISTINCT SONO OPERATORI AGGREGATI. Componenti è la tabella.