[英]How to add relationship to table rows based on column value in psql?
我有一张patients
桌子和一张doctors
桌子。 我想为每位patient
指派一名doctor
。 医生可能有很多病人,但一个病人将属于一个医生。 我想根据patient
的born_on
值指定一名特定的医生。
目前,我正在使用SET
和WHERE
子句将born_on
低于10
患者分配给id
为1
的医生。
UPDATE patients p
SET doctor_id = d.id
FROM doctors d
WHERE DATE_PART('year', AGE(p.born_on)) < 10
AND d.id = 1;
在最少的查询中,我怎么能根据他们的born_on
属性将所有患者分配给医生。
条件如下
age - d.id
< 10 is 1
< 20 is 2
< 30 is 3
< 40 is 4
< 50 is 5
< 60 is 6
< 70 is 7
< 80 is 8
< 90 is 9
>= 100 is 10
我想知道,如果您已经知道更新的条件,您是否必须去看医生的桌子(意思如下)
UPDATE patients p
SET doctor_id = case DATE_PART('year', AGE(p.born_on))
when < 10 then 1
when < 20 then 2
...
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.