mysql中的条件列标题

时间:2012-04-01 07:35:23

标签: mysql sql conditional

我处在一个容易看到的情况但无论如何我无法解决。问题是我希望基于条件的列名header(不是值)不同。我想要以下内容:

SELECT DISTINCT (CASE bool_var WHEN 1 
                               THEN SUM(r.amount_dbl) AS RECEIVED 
                               ELSE  "0" AS Issued END) 
FROM table

有可能吗?请帮忙。

3 个答案:

答案 0 :(得分:1)

不,在“case”语句中不可能有不同的列名。但正如我评论你的查询似乎有点偏。只是一个疯狂的猜测,但你想要实现这一目标吗? :

SELECT
   (CASE bool_var WHEN 1 THEN "RECEIVED"
    ELSE "ISSUED" END) as condition,
   SUM(r.amount_db1) as condition_sum
FROM table r
GROUP BY bool_var

编辑: 这个在sql查询意义上是丑陋的,缓慢的和错误的,但在这里它是:

SELECT 
    SUM(amount_db1) AS RECEIVED,
    (SELECT SUM(amount_db1) FROM table WHERE bool_var != 1) AS ISSUED
FROM table
WHERE bool_var = 1

答案 1 :(得分:0)

不,这是不可能的。

每行的列名不能相同。

答案 2 :(得分:0)

不,您无法设置条件列标题。 case-function是每行工作行。如果第1,3和5行产生标题“奇数”而第2,4和6行产生标题“偶数”,那么列标题应该是什么?