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

Problém v dynamickém pivotování + sql server 2005

Dotaz můžete sestavit dynamicky:

declare @installment_list varchar(max)
select @installment_list = IsNull(@installment_list,'') + 
    '[' + cast(Installment as varchar(32)) + '],'
from #tbl
group by Installment

-- Remove last comma
set @installment_list = left(@installment_list,len(@installment_list)-1)

declare @dynquery varchar(max)
set @dynquery = 'select * ' +
    'from #tbl ' +
    'pivot ( ' +
    '   max([Installment]) ' +
    '   for [Installment] ' +
    '   in (' + @installment_list + ') ' +
    ') as pvt'

exec (@dynquery)

Všimněte si, že proměnné tabulky nejsou uvnitř exec() viditelné, takže jsem se změnil na dočasnou proměnnou (#tbl místo @tbl).



  1. php server ERR_CONNECTION_REFUSED

  2. Omezit prostoje tabulky na minimum přejmenováním staré tabulky a následným vyplněním nové verze?

  3. Chyba SQLPlus AUTO_INCREMENT

  4. Mám program, který chci porovnat přinést data a přinést požadovaná data