COMO SERIA ESSE SELECT???

MLALEX 28/08/2015 15:46:53
#450627
Olá pessoal!!

Sou novo com banco de dados e preciso de uma ajuda com relação ao seguinte. Tenho um banco MySQL onde existem diversas cidades (campo cidades) com determinadas ocorrências todos os dias do mês (campo Data). Preciso de um select que me some a quantidade de ocorrências por dia para cada cidade. Algo parecido com isso:

Cidade Dia 1 Dia 2 Dia 3 Dia 4 (... até o último dia do mês)
São Paulo 3 2 10 5
Rio de Janeiro 0 6 8 9

Sei fazer isso percorrendo um GridView, preechendo um array, mas não sei como depois, preecher outro gridView com esse array carregado.

Podem me ajudar???
KERPLUNK 28/08/2015 19:09:23
#450642
Primeiro, a estrutura está errada, você deveria ter a estrutura:

[th][/th]





Cabecalho
CidadeDiaValor
São Paulo229
São Paulo475
Rio de Janeiro598
Rio de Janeiro1815

Dessa maneira você poderia fazer agrupamentos por dia independente de cidades com maior facilidade, você pode ter multiplos lançamentos por dia numa mesma cidade(se necessário) e a estrutura fica muito mais enxuta, facilitando indexação e por consequência melhorando a performance.

Segundo, por não estar corretamente estruturada, seu select vai ficar gigantesco e de difícil manutenção, algo como:

SELECT SUM(dia1), Sum(dia2)...... FROM tabela Group By Cidade

No lugar dos pontinhos, coloque todos os campos referentes à dia
Faça seu login para responder