我已经得到了下表布局:的MySQL GROUP BY多列不同表
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或b和由a.customer_id,b.customer_id组。
在下面的查询得到的:
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;
这并不让我正确的结果......
我试了几种方法,左加入,加入的客户表和组由客户.id等。有没有人有线索我做错了什么?
Thanx!
其中是表别名? “ta as a”,“tb as b” – 2011-04-06 10:03:33
啊,你说得对:)这不是真正的查询而是简单的查询。修复。 – 2011-04-06 10:07:28