2016-09-29 123 views

回答

2

使用UNION ALL(在所有表的ID 1),以獲得來自所有18個表中的所有值。然後使用SUM函數。

查詢

SELECT SUM(t.result) FROM(
    SELECT result FROM table_1 
    UNION ALL 
    SELECT result FROM table_2 
    UNION ALL 
    ........................... 
    ........................... 
    SELECT result FROM table_18 
)t; 

如果你想爲特定的ID從表中result列值。然後,使用WHERE

+0

@bassrek:其實問題不太清楚。我認爲所有列的id = 1的結果列值。然後,可以用'WHERE'條件。 – Wanderer

+0

@Ulas - 在我刪除它之前,您看到我的評論。在發佈我的筆記後,我注意到了關於'WHERE'子句的最後一行,所以我刪除了:) – bassrek

1

這不是很漂亮,但像這樣的工作

SELECT a.result + b.result + c.result -- (All the way to r.result...) 
FROM TableA a 
INNER JOIN TableB b 
    ON a.ID = b.ID 
INNER JOIN TableC c 
    ON b.ID = c.ID 
-- (All the way to TableR ...) 

你可能想,除非你是絕對肯定的ID將所有表格中始終存在考慮使用OUTER JOINS

相關問題