2014-03-01 23 views
0

我陷入了一個奇怪的問題。我已經嘗試了幾乎所有我知道的事情。 表包含以下細節:MySQL查詢根據部門顯示工資

 
+--------+---------+--------+----------+ 
| emp_id | dept_no | salary | emp_name | 
+--------+---------+--------+----------+ 
|  1 | c1  | 12300 | Rajesh | 
|  2 | c2  | 45123 | Arvind | 
|  3 | c3  | 12345 | Ravi  | 
+--------+---------+--------+----------+ 

的預期結果是這樣的:

 
+---------+--------+--------+--------+ 
| Dept_no | DeptC1 | Deptc2 | DeptC3 | 
+---------+--------+--------+--------+ 
| c1  | 12300 |  0 |  0 | 
| c2  |  0 | 45123 |  0 | 
| c3  |  0 |  0 | 12345 | 
+---------+--------+--------+--------+ 

我真的堅持這個問題,不知道如何解決這個問題。我試圖用左外連接解決這個問題,但無法做到這一點。

+4

這是我所見過 –

+0

最荒謬的,毫無意義的預期輸出你爲什麼需要這種輸出的? –

+0

這似乎毫無意義,但這是必需的。這可以做到嗎?如果是,那麼如何?請建議 –

回答

0

試試這個

SELECT Dept_no, 
     if(Dept_no='C1',salary,0) as Dept_noC1, 
     if(Dept_no='C2',salary,0) as Dept_noC2, 
     if(Dept_no='C3',salary,0) as Dept_noC3 
From Emp 
Group by Dept_no; 

Fiddle Demo

輸出:

 
+---------+--------+--------+--------+ 
| Dept_no | DeptC1 | Deptc2 | DeptC3 | 
+---------+--------+--------+--------+ 
| c1  | 12300 |  0 |  0 | 
| c2  |  0 | 45123 |  0 | 
| c3  |  0 |  0 | 12345 | 
+---------+--------+--------+--------+ 

+0

感謝這工作。是否有任何查詢可以在我們沒有固定數量的department_no的情況下工作? –

+0

我認爲你必須去動態查詢 –

相關問題