2015-10-27 42 views
0

我有一個表,如下許多單獨的列:MySQL查詢到一列分成基於ID

+-----------+-----------+--------+ 
| ID  | Name  | Format | 
+-----------+-----------+--------+ 
| 1   | Rama  | Text | 
+-----------+-----------+--------+ 
| 2   | Sita  | Text | 
+-----------+-----------+--------+ 
| 1   | Raja  | Text | 
+-----------+-----------+--------+ 
| 2   | Bheem  | Text | 
+-----------+-----------+--------+ 

我想下面從上面的表格輸出:

+-----------+-----------+ 
| ID_1  | ID_2  | 
+-----------+-----------+ 
| Rama  | Sita  | 
+-----------+-----------+ 
| Raja  | Bheem  | 
+-----------+-----------+ 

誰能給我mysql查詢做到這一點?

預先感謝您。

+0

您如何知道哪個id 1與哪個id 2記錄配對?你試過什麼了? – Shadow

+0

我寫了2個單獨的查詢來提取數據。如同從table1中選擇名稱爲ID_1,其中ID = 1;是否有可能得到這個單一的查詢或我需要加入2個子查詢。 – rks

+0

你還沒有回答我的問題。 – Shadow

回答

0

你可以試試這個查詢。

SELECT ID, 
     MAX(IF(`ID` = 1, Name, NULL)) ID_1, 
     MAX(IF(`ID` = 2, Name, NULL)) ID_2 
FROM Table 
GROUP BY ID 

請按照與您的要求類似的小提琴代碼。 http://sqlfiddle.com/#!2/70129/13

+1

爲什麼你使用max()? – Shadow

+0

@Shadow:只要在沒有'max'的情況下嘗試一下,那麼你將能夠理解他爲什麼使用'max()' – Wanderer