0

このようにmysqlから出てくるデータがあります

production_date| production_net| worker_name
------------------------------------------
2013-01-10     | 390           | MMahe
------------------------------------------
2013-01-10     | 400           | RMaloney
------------------------------------------
2013-01-11     | 460           | JBurris
------------------------------------------
2013-01-11     | 210           | MMahe
------------------------------------------
2013-01-14     | 285           | LTaylor
------------------------------------------

このように結果を表示したい

operator| 2013-01-10| 2013-01-11| 2013-01-14
--------------------------------------------
MMahe   | 390       | 210       |            
--------------------------------------------
RMaloney| 400       |           |            
--------------------------------------------
JBurris |           | 460       |            
--------------------------------------------
LTaylor |           |           | 285       
--------------------------------------------   

私はphpを使用します。

役立つ投稿、考え、またはチュートリアルは大歓迎です。

4

1 に答える 1

1

MySQL のみで実行できます。このリンクを見てください http://www.artfulsoftware.com/infotree/qrytip.php?id=78

たとえば、そのリンクのサンプル クエリを次のように変更します。

SELECT 
  EmpId,       
  sums.2005, sums.2006, sums.2007,      
FROM (                                  
  SELECT                                
    EmpID,
    SUM(IF(Yr=2005,sales,0)) As '2005',
    SUM(IF(Yr=2006,sales,0)) As '2006',
    SUM(IF(Yr=2007,sales,0)) As '2007'
  FROM Sales
  GROUP BY EmpID WITH ROLLUP
) AS sums; 

MySQLでこのような結果が得られます

+--------+----------+----------+----------+
| EmpId  | 2005     | 2006     | 2007     |
+--------+----------+----------+----------+
| 1      | 12000.00 | 18000.00 | 25000.00 |
| 2      | 15000.00 |  6000.00 |     0.00 |
| 3      |     0.00 | 20000.00 | 24000.00 |
+--------+----------+----------+----------+
于 2013-01-21T20:23:30.623 に答える