У меня есть 3 таблицы, и я хочу суммировать значение:
Table 1
id............value
31001.........200
31002.........100
31003.........1
31004.........0
31005.........0
Table 2
id...........value
31001.........1
31002.........1
31004.........5
Table 3
id...........value
31001.........2
31003.........2
31005.........1
Я пытался использовать следующий код:
SELECT table1.id, Sum([table1].[Value]+[table2].[Value]+[table3].[Value])
FROM (table1 LEFT JOIN table2 ON table1.[id] = table2.[id]) LEFT JOIN table3 ON table1.[id] = table3.[id]
WHERE (((table2.id) Is not Null) and (table3.id) and (table2.id))
GROUP BY table1.id;
UNION
SELECT table1.id,Sum([table1].[Value]+[table2].[Value])
FROM table1 LEFT JOIN table2 ON table1.[id] = table2.[id]
WHERE (((table2.id) Is not Null))
GROUP BY table1.id;
UNION
SELECT table1.id,Sum([table1].[Value]+[table3].[Value])
FROM table1 LEFT JOIN table3 ON table1.[id] = table3.[id]
WHERE (((table3.id) Is not Null))
GROUP BY table1.id;
Я хочу получить результат как:
id.........value
31001.......223
31002.......111
31003.........3
31004.........5
31005.........1
Но я получаю
id..........value
31001.......221
31001.......222
31001.......223
31002.......111
31003.........3
31004.........5
31005.........1
Как я могу это исправить?