desafio SQL
05/08/2004
0
Bom dia Galera, acho que meu problema é mais com SQL do que com Post, tenho a seguinte tabela
ESPORTE EMISSORA DATA
futebol Record 11/02/04
futebol Record 12/02/04
futebol Record 01/03/04
futebol Band 20/04/04
quero extrair dessa tabela a seguinte tabela
ESPORTE EMISSORA JAN FEV MAR ABR
futebol record 0 2 1 0
futebol band 0 0 0 1
Ou seja, é um contador de quantos registros tem em cada mês...
Isso é possivel ? Se alguém puder me ajudar eu agradeço
Abraços !!!!!!
ESPORTE EMISSORA DATA
futebol Record 11/02/04
futebol Record 12/02/04
futebol Record 01/03/04
futebol Band 20/04/04
quero extrair dessa tabela a seguinte tabela
ESPORTE EMISSORA JAN FEV MAR ABR
futebol record 0 2 1 0
futebol band 0 0 0 1
Ou seja, é um contador de quantos registros tem em cada mês...
Isso é possivel ? Se alguém puder me ajudar eu agradeço
Abraços !!!!!!
Cristianopintado
Curtir tópico
+ 0
Responder
Posts
06/08/2004
Marcus.magalhaes
Bom dia Cristiano.
Vc pode usar este script para inicio de idéia, nele só falta fazer o crosstab, q vc pode fazer na aplicação, ou montar uma série de subselect´s ou if´s para fazer isso, mas o problema básico está resolvido.
[color=green:a85c78417d]Declare @Temp_Table Table (Emissora VarChar(20), Esporte VarChar(20), Mes Int, Total Int)
Declare @var_esporte VarChar(20)
Declare cur_Esporte Cursor For Select distinct esporte From programacao Order by esporte
Open cur_Esporte
Fetch Next From cur_Esporte Into @var_esporte
While (@@fetch_status = 0)
Begin
Insert Into @Temp_Table (Emissora, Esporte, Mes, Total)
Select emissora, @var_esporte, month(data) as Mes, Count(*) As Total
From programacao
Where esporte = @var_esporte
Group by emissora, month(data)
Fetch Next From cur_Esporte Into @var_esporte
End
Close cur_Esporte
Deallocate cur_Esporte
Select *
From @Temp_Table[/color:a85c78417d]
PS.: Qto ao Declare @Temp_Table Table, não é necessário fazer o drop pq é uma variável q é automaticamente destruida ao final da execução.
Att,
Vc pode usar este script para inicio de idéia, nele só falta fazer o crosstab, q vc pode fazer na aplicação, ou montar uma série de subselect´s ou if´s para fazer isso, mas o problema básico está resolvido.
[color=green:a85c78417d]Declare @Temp_Table Table (Emissora VarChar(20), Esporte VarChar(20), Mes Int, Total Int)
Declare @var_esporte VarChar(20)
Declare cur_Esporte Cursor For Select distinct esporte From programacao Order by esporte
Open cur_Esporte
Fetch Next From cur_Esporte Into @var_esporte
While (@@fetch_status = 0)
Begin
Insert Into @Temp_Table (Emissora, Esporte, Mes, Total)
Select emissora, @var_esporte, month(data) as Mes, Count(*) As Total
From programacao
Where esporte = @var_esporte
Group by emissora, month(data)
Fetch Next From cur_Esporte Into @var_esporte
End
Close cur_Esporte
Deallocate cur_Esporte
Select *
From @Temp_Table[/color:a85c78417d]
PS.: Qto ao Declare @Temp_Table Table, não é necessário fazer o drop pq é uma variável q é automaticamente destruida ao final da execução.
Att,
Responder
06/08/2004
Aroldo Zanela
Bom dia Galera, acho que meu problema é mais com SQL do que com Post, tenho a seguinte tabela
ESPORTE EMISSORA DATA
futebol Record 11/02/04
futebol Record 12/02/04
futebol Record 01/03/04
futebol Band 20/04/04
quero extrair dessa tabela a seguinte tabela
ESPORTE EMISSORA JAN FEV MAR ABR
futebol record 0 2 1 0
futebol band 0 0 0 1
Ou seja, é um contador de quantos registros tem em cada mês...
Isso é possivel ? Se alguém puder me ajudar eu agradeço
Abraços !!!!!!
[b:bf6ae2483e][color=red:bf6ae2483e]Colega,
Por favor, leia as regras de conduta para evitar que suas mensagens sejam removidas. Excepcionalmente, estou mantendo esta.
Bloqueado pelo Moderador (AZ)[/color:bf6ae2483e][/b:bf6ae2483e]
Responder
Clique aqui para fazer login e interagir na Comunidade :)