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

T-SQL seskupuje řádky do sloupců

Tabulku můžete otočit pomocí row_number() jako zdroje názvů sloupců:

select *
from
(
  select ref, 
         name, 
         link,
         row_number() over (partition by ref, name order by link) rn
  from table1
) s
pivot (min (link) for rn in ([1], [2], [3], [4])) pvt

Pokud máte více řádků, jednoduše rozšiřte seznam čísel.

Živý test je @ Sql Fiddle .



  1. Opětovné použití hodnoty výrazu SQL SELECT pro jiný výraz

  2. Ruby datetime vhodné pro srovnání mysql

  3. Jak získat samouzavírací xml tag v Oracle PLSQL?

  4. Co je lepší - mnoho malých stolků nebo jeden velký stůl?