私は18のテーブルをmysqlに持っています。同じIDの複数のテーブルからのMysqlの合計の列
すべてのテーブルにはカラムResult(ex a.result、b.resultなど)があります。 idのすべてについて18個のtableとsumの結果を選択する必要があります。
おかげ
私は18のテーブルをmysqlに持っています。同じIDの複数のテーブルからのMysqlの合計の列
すべてのテーブルにはカラムResult(ex a.result、b.resultなど)があります。 idのすべてについて18個のtableとsumの結果を選択する必要があります。
おかげ
使用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
を使用します。
それはかなりありませんが、このようなものを使用すると、IDは、常にすべてのテーブルに存在することが絶対確実でない限りあなたはOUTER JOINS
を使用して検討する必要があります
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 ...)
を働くだろう。
@bassrek:実際問題は明らかではありません。私はすべての列からid = 1の結果列の値を考える。それでは、 'WHERE'条件で可能です。 – Wanderer
@Ulas - 削除する前に私のコメントを見たようです。私は私のメモを投稿した後に 'WHERE'節についてあなたの最後の行に気づいたので、私は削除しました:) – bassrek