하나의 SQL 쿼리에서 여러 테이블의 일부 열을 합산하려고하지만 잘못된 결과가 나타나는 것 같습니다. 나는 아래에서 제공 한 코드에 문제가 있다고 생각한다. 이것에 대한 도움을 주시면 감사하겠습니다. MySQL의 여러 테이블에서 열 합계
item Names
| id | name |
| 1 | AB |
| 2 | CA |
table1
| id | interest | year |
| 1 | 20.00 | 2014 |
| 2 | 30.00 | 2013 |
| 1 | 10.00 | 2013 |
table2
| id | deposit | year |
| 1 | 10.00 | 2014 |
| 2 | 10.00 | 2014 |
이
은 내가 노력 쿼리입니다 :SELECT
a.name,
b.year,
sum(b.interest) as 'total'
FROM
`table1` b
INNER JOIN
`item names` a
ON
b.id=a.id
GROUP BY
b.id
UNION ALL
SELECT
c.name,
d.year,
sum(d.deposit) as 'total'
FROM
`table2` d
INNER JOIN
`item names` c
ON
d.id=c.id
GROUP BY
d.id
예상 결과
UPDATE 내가 특정에 대한 관심과 보증금의 총합을 찾기 위해 노력하고
년 및 특정 항목에 대해
|name | year | total |
| AB | 2014 | 30.00 |
| AB | 2013 | 10.00 |
| CA | 2013 | 30.00 |
| CA | 2014 | 10.00 |
예상되는 결과가 정확히 무엇인지 설명해 주시겠습니까? 이드, 일년 총합을 찾는 것처럼 보입니까? – ryanyuyu
1 년 단위로 그룹화해야합니다. –
데이터가 2 년 이상 계속되었을 때 총 관심사로 정확히 무엇을 기대합니까? 다른 연도를 다른 행으로 표시하거나 모든 행에 대해 하나의 통합 된 결과를 표시 할 수 있습니다. 1 년 동안의 열은 그룹화 기준이 아니기 때문에이 시점에서는 아무 것도하지 않습니다. MySQL은 결과 셋의 첫 해를 다른 해의 관심사의 합계 옆에 표시합니다. 오해의 소지가 있습니다. 또한 구문은'b.sum (interest)'가 아니라'sum (b.interest)'입니다. – amenadiel