在查询本身更改SQL的结果?

时间:2013-04-30 16:46:08

标签: php sql group-by rename

希望我可以将我脑海中的内容翻译成文字。我有一个PHP应用程序,我在那里查询我们的数据库(Pervasive SQL,而不是MySQL,所以我没有可用的所有MySQL命令)并将结果吐出到JSON编码的字符串中,以便与Google图表一起使用。

这是我的疑问:

SELECT oestats.period, oestats.salesamtf 
FROM oestats 
GROUP BY oestats.yr, oestats.period, oestats.salesamtf

对于salesamtf,返回的内容对我来说没问题,但是句点会返回每个月的数值(例如1月1,2月2等)。

我想在这里做两件事。我希望在结果中返回1月而不是1。我确信我可以在javascript中执行此操作,我只是假设必须有一种方法在查询本身或通过其他方式执行此操作?最大的原因是我想要#2:

我不仅希望返回1月而不是1,而且我还希望将其添加到查询中分组的年份(例如2012/1月)。目前,结果分组正确,我可以弄清楚哪一年属于哪一年,但在查看图表时需要进行一些挖掘。

有关如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:0)

这可能有效

SELECT CASE oestats.period
WHEN 1 THEN "January, "
WHEN 2 THEN "February, "
WHEN 3 THEN "March, "
WHEN 4 THEN "April, "
WHEN 7 THEN "May, "
WHEN 6 THEN "June, "
...
ELSE "December, "
END || oestats.yr as theTimeFrame, oestats.salesamtf FROM 
oestats GROUP BY theTimeFrame,    
oestats.salesamtf

无法回想一下你是否可以按SQL92中的构造字段进行分组,但是应该让你开始。