我已經得到了下表佈局:的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