关于Pivot vs Case的优点的问题

Que*_*mer 4 sql pivot-table case

我有一个返回对象属性的查询.我想要的是将属性转移到表中.我已经看到用于执行此类操作的数据透视表,但仅限于在数据透视表中的cols上执行聚合函数的情况.我也看过用于做同样事情的案例陈述.

由于您必须手动写出数据库中的每一列,因此每个列的工作量相对相同.一个优于另一个的优势和局限是什么?

Mar*_*ith 5

我同意肯.我不记得PIVOT没有引用BOL 的语法,另外它没有旧学校案例陈述那么灵活.你只能有一个聚合意味着不可能做类似的事情.

SELECT COUNT(CASE WHEN foo='bar' THEN foo END) AS bar_count,
         SUM(CASE WHEN foo='bar' THEN foo END)  AS bar_sum
FROM your_table     
Run Code Online (Sandbox Code Playgroud)