查询结果取决于单独查询的结果

时间:2014-01-14 03:22:22

标签: php mysqli

如图所示,查询表格输出结果的最有效方法是什么?

表格

+-----+----------+-----+
| PN  |   date   | QTY |
+-----+----------+-----+
| AB1 | 01/12/14 |  4  |
| AB2 | 01/12/14 |  2  |
| AB3 | 01/12/14 |  7  |
| AB1 | 01/22/14 |  8  |
| AB3 | 01/25/14 |  3  |
| AB5 | 01/25/14 |  9  |
+-----+----------+-----+

结果:

+-----+----------+----------+----------+
|     | 01/12/14 | 01/22/14 | 01/25/14 |
+-----+----------+----------+----------+
| AB1 |     4    |     8    |    0     |
| AB2 |     2    |     0    |    3     |
| AB5 |     7    |     0    |    9     |
+-----+----------+----------+----------+

1 个答案:

答案 0 :(得分:2)

您想要做的是调用数据。它可以在MySQL中使用一些CASE语句和聚合函数来实现。

E.G。

SELECT PN,
    SUM(CASE WHEN date='20141201' THEN qty END) AS day1Qty,
    SUM(CASE WHEN date='20141202' THEN qty END) AS day2Qty
FROM table
GROUP BY PN

当然,您可能希望做一些事情来动态处理正在聚合的日期,因此它不仅仅是一个静态列表(除非您正在追求的是这样)。

有关详细信息,请参阅以下答案:

Pivot Table Using MySQL

MySQL pivot table