Sirene Posted February 7, 2017 at 04:18 PM Report Share #602389 Posted February 7, 2017 at 04:18 PM (edited) Olá pessoal, Preciso fazer um select em que as linhas passem a colunas... Como fazer isto? Preciso fazer como está nesta imagem : Ver Imagem Alerto para o facto que o query neste exemplo tem 3 linhas mas pode ter apenas 1 ou 2... ou mais... Edited February 7, 2017 at 05:07 PM by Sirene Link to comment Share on other sites More sharing options...
_Rest_ Posted March 31, 2017 at 10:32 AM Report Share #603440 Posted March 31, 2017 at 10:32 AM Não consigo abrir o link onde estou mas se o que pretendes é colocar linhas como colunas e é apenas de uma tabela, só precisas de uma variavel para guardar as colunas atraves por exemplo de XML e utilizas uma pivot table dentro de uma open query em que o nome das colunas são carregadas da variável. Se quiseres adicionar mais colunas de outra tabela, acrescentas outra pivot table á query Link to comment Share on other sites More sharing options...
_Rest_ Posted March 31, 2017 at 10:44 AM Report Share #603441 Posted March 31, 2017 at 10:44 AM Se tens tipo Nome | Dia | Horas 1-Joao 5 7 2-Pedro 6 5 3-Joao 8 2 4- Rita 15 8 E o que tu pretendes é por exemplo somar as horas por pessoa e listar por pesso tipo Joao | Pedro | Rita 9 5 8 Mas amanha pode haver mais pessoas e queres que automaticamente liste também as novas pessoas DECLARE @Nomes AS NVARCHAR(MAX) Declare @query AS NVARCHAR(MAX) select @Nomes = STUFF((SELECT distinct ',' + QUOTENAME(Nomes) from dbo.PessoasHoras FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)') ,1,1,'') set @query = 'select * from ( select Nomes, Horas from PessoasHoras ) x1 pivot ( sum(Horas) for Nomes in ('+ @Nomes +') ) b' exec(@query) 1 Report Link to comment Share on other sites More sharing options...
Sirene Posted March 31, 2017 at 11:15 AM Author Report Share #603442 Posted March 31, 2017 at 11:15 AM Obrigado... Já consegui... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now