小编tim*_*imz的帖子

比较 ID,如果为真则更新另一个表

我有3张桌子。1 表(表 A)有某种疾病(例如心脏病)的患者,另一个表是有各种疾病的患者(表 B)。第三个表是结果表。

我想要做的是将表 A 中的心脏病患者(表 A 仅是心脏病患者)与表 B 中的肾脏疾病患者进行比较。如果表 B 中存在命中(返回结果),则更新结果表该 ID 列肾脏疾病下的“x”。

结果表目前采用以下格式:

ID|肾脏|CHD|糖尿病……还有另外10种疾病

总结:我们用指定的疾病名称检查表 A 与表 B,如果有返回结果patientid,则结果表更新为该特定疾病名称下的“x” patientID。然后我将重新运行查询更改疾病名称(例如从肾脏到癌症)以查明心脏病患者是否患有癌症?

样本数据

表A

病人编号
1
2
3
4
5
....一路到812(812心脏病患者)

表B

患者 ID|年龄|疾病 1|疾病 2|疾病 3...一直到疾病 10
1 50 肾肺
2 35 肾心糖尿病
3 94 癌性肺炎 CHD

想要发生的是,对于PatientID表 A 中的每个,我们将表 B 中疾病 1-10 的特定疾病(例如肾脏)与表 B 进行比较,如果有结果,我们然后用'更新结果表x' 在结果表中该特定疾病列下。因此,在我们的示例中,对于患者 1 和 2,肾脏下方应该有一个“x”。

使用我们的样本数据,当我们运行肾脏时,结果表应该如下所示:

ID|肾脏|冠心病|糖尿病
 1 次
 2 x

谁能指出我为此编写查询的方向?该查询patientID从表 A 中检查所有(其中 812 个)表 B …

postgresql database-design

3
推荐指数
1
解决办法
189
查看次数

标签 统计

database-design ×1

postgresql ×1