sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server 2005/2008 Group By-sats med parametrar utan att använda dynamisk SQL?

Du kan gruppera på en konstant vilket kan vara användbart

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

Redigera:För datatypsfel och flera värden och detta låter dig gruppera i båda kolumnerna...

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. ORA-00604-fel vid batchinfogning i TransactionScope

  2. Hur man använder INNER JOIN i SQL

  3. få id för senast infogade post utan att använda mysql_insert_id()

  4. Vilket är det bästa sättet att söka efter den långa datatypen i en Oracle-databas?