我有一个这样的一堆表:最好的方法来平整/非规范化SQL查找表?
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
...
但我需要一个扁平的版本,像这样:
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...
> _ <
写此查询只是一个表是可行的不是最好的,但我需要扁平化数据LI再用30张相同大小的桌子。呃...建议吗?
我也很好奇,想知道我正在做的事情是否是常见的事情?
我需要非规格化/扁平化统计软件的sql数据。
请描述您正在使用的数据库。 – RedFilter 2009-09-22 17:40:03
+1感谢您在Stackoverflow上成为理智的人 – 2010-01-26 16:59:05