나는 다음 표 레이아웃을 가지고 : 테이블 데이터에서MySQL의 그룹은
Table Data
+----------+-------------------------+
| Field | Type |
+----------+-------------------------+
| type | enum('type_b','type_a') |
| type_id | int(11) unsigned |
| data | bigint(20) unsigned |
+----------+-------------------------+
Table A and B:
+--------------+------------------+
| Field | Type |
+--------------+------------------+
| id | int(11) unsigned |
| customer_id | int(11) unsigned |
| ... |
+--------------+------------------+
는 특정 유형 (A 또는 B)에서 일부 messurement 데이터가있다. 이제 저는 고객에게 두 가지 유형의 데이터 a 및 b에 대한 총 합계를 원합니다.
그래서 나는 생각했다 : a.customer_id, b.customer_id에 의해 a 또는 b와 그룹에 대한 합계를 선택한다. 다음 쿼리의 결과
:
SELECT sum(d.data) as total
FROM data d, ta, tb
WHERE
(d.type LIKE "type_a" AND d.type_id = ta.id)
OR
(d.type LIKE "type_b" AND d.type_id = tb.id)
GROUP BY ta.customer_id, tb.customer_id;
이 나에게 적절한 결과를 얻을하지 않습니다 ...
I 시도 몇 가지 방법, 왼쪽은 고객이 고객 테이블 그룹에 합류, 조인 .id 등 누군가가 내가 뭘 잘못하고 있는지 단서가 있습니까?고맙습니다.
테이블 별명은 어디에 있습니까? "ta as a", "tb as b" –
아, 네가 맞아. 이건 실제 질의가 아니라 단순화 된 것이다. 고쳤다. –