sql >> Databáze >  >> RDS >> Sqlserver

SQL Server 2008:Podivná chyba v uložené proceduře

Nemůžete použít proměnnou v order by doložka. Místo toho musíte udělat něco jako:

order by (case when @groupBy = 'VRNOA' then VRNOA
               . . .
          end)

Buďte však opatrní, protože pokud jsou sloupce různých typů, může dojít k neočekávaným věcem nebo k další chybě. (Existuje alternativa k použití dynamického SQL, ale to bych nedoporučoval.)

Také jméno @groupby je trochu zavádějící. "Seskupování" je výraz SQL ekvivalentní k "agregaci". Nebylo by @OrderBy nebo @SortBy být vhodnější?



  1. Použijte mysqldump k zálohování MySQL nebo MariaDB

  2. JBoss logs Ovladač Postgres není kompatibilní s JDBC

  3. Chyba příkazu sql:sloupec .. neexistuje

  4. Vyhledávání PHP/Mysql – rozlišují se malá a velká písmena