2016-09-29 2 views

답변

2

사용 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을 사용하십시오.

+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 사용을 고려 할 수 있습니다 작동합니다.

관련 문제