扁平化/非规范化 SQL 查找表的最佳方法?扁平化、方法、SQL

由网友(你若不举、便是晴天)分享简介:我有一堆这样的表:Lookup_HealthCheckupRisks------------ID Name1 Anemia2 Anorexic3 Bulemic4 Depression...122 SyphilisPatientRisksOnCheckup-----------...

我有一堆这样的表:

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
...

但我需要一个扁平化版本,像这样:

But I need a flattened version, like this:

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

我不知道该怎么做,我能想到的最好的方法是写一个临时表,定义所有 122 列,然后执行 If Exists ( SELECT * FROM PatientRisksOnCheckup where RiskID=i and checkupID=j ) INSERT INTO PatientCheckup (1) WHERE CheckupID=j 并迭代i, j... >_

阅读全文

相关推荐

最新文章