今天在做报表的时候遇到了一个数据排版的问题不知道怎么搞,请教了我们的头,给我说case可以解决,又到网上查了下其用法终于搞定了!
所以当做笔记记下!呵呵!
将数据库中的列值以行值形式输出的办法:解决方案是:利用sql的语法(case语句搞定!)
case有两种语法结构:
1.将某个表达式与一组简单的值进行比较以确定返回结果。
CASE input_expression
WHEN when_expression THEN result_expression
[ ...n ]
[ELSE else_result_expression]
END
2.计算某个布尔表达式的值以确定返回结果。
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[ELSE else_result_expression]
END
eg:
select
bill_date,
sum(case page_count when 1 then 1 end) as page1, //第一种用法
sum(case page_count when 2 then 1 end) as page2,
sum(case page_count when 3 then 1 end) as page3,
sum(case page_