2014-06-20 90 views
0

我在mysql中有這個數據集,對於特定的subject我希望它們被摺疊成一行。要換行的行數有所不同。一個典型的數據集讓這個樣子:將多行包成一行

列名稱: Sitting Date | Subject | Exam Part 1 | Exam Part 2 | Assignment Part 1 | Assignment Part 2 | Practical Part 1 | Practical Part 2 | Project Part 1 | Project Part 2 | Overall Mark | Result | Credits

結果:

052012 Business Information Systems 0.00 0.00 51.0 0.00 0.00 0.00 0.00 0.00 42 F 10.00

052012 Business Information Systems 29.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 42 F 10.00

我想要做的就是將它們包裝成一排如:

052012 | Business Information Systems | 29.00 | 0.00 | 51.0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 42 | F

我將如何在mysql中形成這樣的查詢?我當前的查詢看起來是這樣的:

SELECT * FROM exam_results WHERE sdate = :sdate AND studno = :studno 
+0

請解釋的方式向價值在單行顯示。這是最大的嗎? – VMai

+0

嗨,Ive更新了OP。 – Zy0n

+0

你成功了嗎? – potashin

回答

1

你可以在MySQL中使用CONCAT_WS

SELECT CONCAT_WS(' | ', `Sitting Date`, `Subject`, <...>) FROM `table`