Melhor maneira de achatar / desnormalizar as tabelas de consulta SQL?
Eu tenho um monte de tabelas como esta:
Lookup_HealthCheckupRisks
------------
ID Name
1 Anemia
2 Anorexic
3 Bulemic
4 Depression
...
122 Syphilis
PatientRisksOnCheckup
------------------
ID CheckupID RiskID
1 11 2
2 11 3
3 12 1
4 14 1
5 14 3
...
Mas eu preciso de uma versão simplificada, assim:
PatientCheckup
------------------
CheckupID Risk_1 Risk_2 Risk_3 Risk_4 .. Risk_122
11 0 1 1 0 0
12 1 0 0 0 0
13 0 0 0 0 0
14 1 0 1 0 0
Eu sou ignorante como fazer isso, o melhor que posso pensar é escrever uma tabela temporária, definir todas as colunas 122 e, em seguida, fazerIf Exists ( SELECT * FROM PatientRisksOnCheckup where RiskID=i and checkupID=j ) INSERT INTO PatientCheckup (1) WHERE CheckupID=j
e iterari, j...
> _ <
Escrever essa consulta para apenas uma tabela não é o melhor, mas preciso achatar dados como esse para outras trinta tabelas do mesmo tamanho. Er ... sugestões por favor?
Eu também estou curioso para saber se o que estou fazendo é uma coisa comum a fazer ou não ...?
Eu estou precisando desnormalizar / achatar os dados SQL para o software de estatísticas.