我有TableA與TableC通過TableB與TableC存在多對多關係。也就是說,SQL聚合查詢,按結點表中的條目分組
TableA TableB TableC
id | val fkeyA | fkeyC id | data
我希望做select sum(val)
TableA上,通過關係(一個或多個)以表C分組。 TableA中的每個條目與TableC至少有一個關係。例如,
TableA
1 | 25
2 | 30
3 | 50
TableB
1 | 1
1 | 2
2 | 1
2 | 2
2 | 3
3 | 1
3 | 2
應該輸出
75
30
因爲在表的行1和3具有以表C相同的關係,但第2行TableA中具有表C不同的關係。
如何爲此編寫SQL查詢?
因此,如果第4行在表A中輸入的值爲30,並且通過記錄1和2也與C相關,那麼75會變成105?如果第5條記錄的輸入值爲30,並且通過記錄6和7與c相關,您會在結果中看到75,30,30? – xQbert
@xQert:是和是 – cm007