SQL into Table Multiple查询相同的列

时间:2016-06-20 12:54:46

标签: mysql

我正在尝试创建基于网络的报告,以显示某些广告的响应。

$sql1 = "
SELECT date
     , source
     , source_desc
     , COUNT(ordernumber) count
     , SUM(ordervalue) value
     , type 
  FROM dailystats 
 WHERE client = '$client2' 
   AND event <> 'B02' 
   AND date BETWEEN '$start' AND '$end' 
 GROUP 
    BY source 
 ORDER 
    BY source;
    ";

这适用于我的表格以显示总值,但我想进一步细分。我目前有SOURCE {source},DESCRIPTION {source_desc},TOTAL ORDERS {count},TOTAL ORDER VALUE {value},作为我的标题,由上述字段填充。

当字段“TYPE”为“P”,“T”和“E”时,我希望以及当前总数包含更多列。我想让这个给我留下数据来填充新标题(当我把它们放入表格时)包括来源,描述,网页订单,网页订单价值,电话订单,电话订单价值,邮政订单,邮政订单价值,总订单,TOTAL ORDER VALUE。

我需要为新标题创建数据,因此WEB ORDERS将为我提供TYPE“E”的总订单。就其本身来说,这就像COUNT(ordernumber) count where type = "E",但我需要其中的多个,我无法让它发挥作用。

目前看起来像这样:

|Source|Source Description|Total Orders|Total Order Value|
|DM1   |Daily Mail 1      |500         |5,000            |

我想保留这些信息,但如上所述添加,看起来像这样。

|Source|Source Description|Web Orders|Web Order Value|Post Orders|Post Order Value|Mail Orders|Mail Order Value|Total Orders|Total Order Value|
|DM1   |Daily Mail 1      |100       |1,000          |300        |3,000           |100        |1,000           |500         |5,000            |

我希望我已经充分解释了我的问题。

2 个答案:

答案 0 :(得分:0)

在代码中使用 group_concat(类型) 作为类型。 (如果它是错误的。请解释清楚

答案 1 :(得分:0)

  

我希望这会留下我的标题(当我把它们放入表格时)的来源,描述,网页订单,网页订单价值,电话订单,电话订单价值,邮政订单,邮政订单价值,总订单,总计订单价值。

如果我理解正确,您想在结果中添加标题?这应该通过以下方式完成:

SELECT column_name(s) FROM table_name AS alias_name;