Ho 2 tabelle legate tra loro da un campo chiave ed in entrambe c'� un campo
numerico.
Vorrei costruire una query che mi pende la somma dei due campi numerici. Nel
caso in cui nella seconda tabella non c'� nessun record corrispondente alla
chiave della prima tabella, la query dovrebbe considerare solo il valore
della prima tabella.
In sostanza lo statement che vorrei costruire dovrebbe essere:
SELECT a.Dimensione+b.Dimensione
FROM Tabella1 a
LEFT JOIN Tabella2 b ON a.Chiave = b.Chiave
Questa sintassi per� non funziona perch� nel caso in cui non esista il
record nella tabella 2 con la stessa chiave di tabella 1, la somma
a.Dimensione1+b.Dimensione2 viene valorizzata a NULL:
Cio� si ha la seguente risposta:
Tabella1 Tabella2
Risultato
Chiave Dimensione Chiave Dimensione
a.Dimensione+b.Dimensione
A 10 NULL NULL NULL
B 20 C 10
30
Io invece vorrei costruire una sintassi che nel caso della chiave A la mia
query mi ritornasse 10 (non NULL)
Sapreste aiutarmi
Grazie
Cricca
non so qual'e' il db, ma in PostgreSQL (e penso anche in altri):
SELECT a.Dimensione+COALESCE(b.Dimensione, 0)
FROM Tabella1 a
LEFT JOIN Tabella2 b ON a.Chiave = b.Chiave
ciao ...
--
Never try to teach a pig to sing.
It wastes your time and annoys the pig.
Utilizzo MySQL e COALESCE funziona benissimo!
Grazie
Cricca