2014-06-27 57 views
0

集團通過在哪裏(field.id是一樣的)

x---id---x---short_name---------x 
| 1 |  alcatel  | 
| 2 |  Nexus   | 
| 3 |  ZTE   | 
x--------x----------------------x 

詳細

x---id---x---------code---------x---header.id---x 
| 1 |   XXX   |  1  | 
| 2 |   ZZZ   |  2  | 
| 3 |   ZZZ   |  2  | 
| 4 |   XXX   |  3  | 
x--------x----------------------x---------------x 

,我需要GROUP BY代碼,其中field.id是一樣的,例如: 在這種情況下,我得到2行相同的field.id所以我需要我的域代碼,以防萬一如果field.id是相同的。 (很難給我解釋...)

我需要得到這個

x---header.id---x--detail.id--x-----short_name----x---detail.code---x 
|  1  |  1  |  alcatel  |  XXX  | 
|  2  |  3  |  Nexus  |  ZZZ  | 
|  3  |  4  |  ZTE   |  XXX  | 
x---------------x-------------x------------------x-----------------x 

我不知道這其實是可以做到的,但如果是請幫助我,如果不是,請告訴我,這是不可能的。

編輯:我的field.idfield.code(ID和CODE字段)是從表一中relashion 1到N稱爲字段

回答

0
select h.id as header_id, max(d.id) as detail_id, h.short_name, d.code 
from header h 
join detail d on d.`header.id` = h.id 
group by header_id, h.short_name, d.code 
+0

我的壞我失敗的東西,檢查編輯.. 謝謝你試圖幫助我:) – user3782990

+0

更新我的答案 –

+0

非常感謝你! – user3782990

0
嘗試

SELECT MAX(id) AS id, `field.id`, code 
FROM test 
GROUP BY code, `field.id` 
ORDER BY id ASC 

檢查SQL Fiddle

+0

我的壞我失敗的東西,檢查編輯.. 謝謝你試圖幫助我:) – user3782990

+0

你得到的錯誤我也給了SQL小提琴檢查它沒有任何錯誤 – Sadikhasan