我处在一个容易看到的情况但无论如何我无法解决。问题是我希望基于条件的列名header
(不是值)不同。我想要以下内容:
SELECT DISTINCT (CASE bool_var WHEN 1
THEN SUM(r.amount_dbl) AS RECEIVED
ELSE "0" AS Issued END)
FROM table
有可能吗?请帮忙。
答案 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行产生标题“偶数”,那么列标题应该是什么?