Problema con SUM

ciccio9999

Utente Attivo
16 Ago 2011
30
0
0
Salve a tutti. Ho questo problema.
Una tabella è un'entità e ha come colonne un id e due colonne che chiamo per semplicità col1 e col2.
Poi ho una relazione che tra la tabella di prima e un'altra tabella.
Praticamente ho tabella1: ID1, col1, col2
tabella2: ID2
relazione: ID1, ID2.

A me serve fare una query che stampi tutti gli ID2 differenti e a fianco le somme di tutti i valori di col1 in cui sono presenti nella relazione ID2 e ID1. Solo che non me li stampa. Non so come fare.

Ho fatto questa query qua:

SELECT DISTINCT ID1, sum(col1)
FROM tabella1, relazione
WHERE tabella1.ID1 = relazione ID1
AND ID2 = 1

Faccio il distinct ID1 perchè la tabella relazione è in realtà una ternaria e quindi ha un'altra tabella con ID3. Può capitare quindi che ci siano più tuple con ID1, ID2. A me serve che ogni tupla è calcolata una volta.
Dove sbaglio? Spero che si capisce cosa mi serve
 
Come mai hai messo:

AND ID2 = 1 ?

deve valere 1 l'ID2? o è un errore? In questo modo dovrebbe tirare fuori tutte le tuple dove ID2 vale 1.
Tutte le altre non le vede.

Poi c'è un altro errore:

Codice:
WHERE tabella1.ID1 = relazione ID1
sostituisci con
Codice:
WHERE tabella1.ID1 = relazione.ID1

e poi facci sapere.
 

Discussioni simili