나는 18 테이블에 MySQL이 있습니다.동일한 ID의 여러 테이블에서 MySQL의 열을 합계
모든 테이블에는 결과 열 (예 : a.result, b.result 등)이 있습니다. 모든 ID에 대해 18 개의 테이블과 합계 결과를 선택해야합니다.
감사
나는 18 테이블에 MySQL이 있습니다.동일한 ID의 여러 테이블에서 MySQL의 열을 합계
모든 테이블에는 결과 열 (예 : a.result, b.result 등)이 있습니다. 모든 ID에 대해 18 개의 테이블과 합계 결과를 선택해야합니다.
감사
사용 UNION ALL
(테이블 모두에서 ID 1)
d.id 1 = a.result + b.result + c.result
모두 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;
당신이 테이블에서 특정 아이디의의 result
열 값을합니다. 그런 다음 WHERE
을 사용하십시오.
꽤 아니지만, 이런 일이
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
사용을 고려 할 수 있습니다 작동합니다.
@bassrek : 실제로 질문은 명확하지 않습니다. 나는 모든 컬럼에서 id = 1에 대한 결과 컬럼 값을 생각한다. 그러면'WHERE' 조건으로 가능해질 것입니다. – Wanderer
@Ulas - 삭제하기 전에 내 댓글을 본 것처럼 보입니다. 내 메모를 게시 한 후'WHERE' 절에 대한 마지막 줄을 알았으므로 삭제했습니다. :) – bassrek