Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Istruzione Group By di SQL Server 2005/2008 con parametri senza utilizzare SQL dinamico?

Puoi raggruppare su una costante che potrebbe essere utile

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

Modifica:per mancata corrispondenza del tipo di dati e valori multipli e questo ti consente di raggruppare su entrambe le colonne...

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