열거 된 열로 2 년 동안 이름과 연간 수입 데이터베이스를 가지고 있다면 (저는 이것이 열악한 데이터베이스 디자인이라는 것을 알고 있지만 지금은 변경할 자유가 없습니다). 예를 들면 :
Name_2000, Name_2010, Income_2000, Income_2010
첫 번째 결과 열의 두 이름 열에있는 모든 고유 이름을 반환하는 쿼리를 어떻게 구성 할 수 있습니까? 두 번째 결과 열은 2000 년 동안 해당 이름에 대한 모든 소득의 합계 여야합니다. 세 번째 결과는 2010 년 해당 이름에 대한 모든 소득의 합계 여야합니다.
분명히이 예에서 사람 (레코드)은 연도간에 이름을 변경하거나 어느 연도에도 이름이 없을 수 있습니다.
단일 쿼리로이 작업을 수행 할 수 있습니까? 이름의 특정 하위 집합으로 필터링하는 기능도 편리합니다 ..
각 이름과 소득 세트에 대해 하나씩 2 개의 결과를 함께 통합하는 하위 쿼리를 사용하는 것이 좋지만 각각 다른 연도의 소득에 대해 더미 0을 반환합니다.
이 같은:-
SELECT aname, SUM(aincome2000), SUM(aincome2010)
FROM
(
SELECT Name_2000 AS aname, Income_2000 AS aincome2000, 0 AS aincome2010
FROM sometable
UNION ALL
SELECT Name_2010 AS aname, 0 AS aincome2000, Income_2010 AS aincome2010
FROM sometable
) sub1
GROUP BY aname
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다