簡體   English   中英

如何基於psql中的列值向表行添加關系?

[英]How to add relationship to table rows based on column value in psql?

我有一張patients桌子和一張doctors桌子。 我想為每位patient指派一名doctor 醫生可能有很多病人,但一個病人將屬於一個醫生。 我想根據patientborn_on值指定一名特定的醫生。

目前,我正在使用SETWHERE子句將born_on低於10患者分配給id1的醫生。

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM