且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

不带动态SQL的带参数的SQL Server 2005/2008 Group By语句?

更新时间:2023-02-07 08:48:53

您可以对可能有用的常量进行分组

You can group on a constant which might be useful

SELECT
    SUM(Column0),
    CASE @MyVar WHEN 'Column1' THEN Column1 ELSE '' END AS MyGrouping
FROM
    Table1
GROUP BY
    CASE @MyVar WHEN 'Column1' THEN Column1 ELSE '' END

编辑:针对数据类型不匹配和多个值,这使您可以在两个列上分组...

For datatype mismatch and multiple values and this allows you to group on both columns...

SELECT
    SUM(Column0),
    CASE @MyVar WHEN 'Column1' THEN Column1 ELSE NULL END AS Column1,
    CASE @MyVar WHEN 'Column2' THEN Column2 ELSE NULL END AS Column2
FROM
    Table1
GROUP BY
    CASE @MyVar WHEN 'Column1' THEN Column1 ELSE NULL END,
    CASE @MyVar WHEN 'Column2' THEN Column2 ELSE NULL END