Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server 2005/2008 Grupuj według instrukcji z parametrami bez użycia dynamicznego SQL?

Możesz pogrupować według stałej, co może być przydatne

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

Edycja:w przypadku niezgodności typu danych i wielu wartości, co pozwala na grupowanie w obu kolumnach...

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dodaj kolumnę do tabeli, a następnie zaktualizuj ją w transakcji

  2. sql server 2008 plik xml do tabeli

  3. Import CSV w SQL Server 2008

  4. Zamiana określonego znaku w adresach e-mail na „*” w zapytaniu SQL

  5. Złożony klucz podstawowy + klucz obcy