我想将 CSV 导入 Postgres 表,但我希望能够根据表中的现有行动态决定列应该是 0 还是 1。
例如,我正在将联系人添加到表中,并且如果不存在主要联系人,则希望将其标记为主要联系人,否则将其添加为次要联系人:
现有行:
contact_id | branch_id | primary
-------------+-----------+--------
1 | 100 | 1
2 | 101 | 1
3 | 101 | 0
CSV 数据,
contact_id | branch_id
-----------+-----------
4 | 100
5 | 101
6 | 102
7 | 103
期望的结果,
contact_id | branch_id | primary
-----------+-----------+--------
1 | 100 | 1
2 | 101 | 1
3 | 101 | 0
4 | 100 | 0
5 | 101 | 0
6 | 102 | 1
7 | 103 | 1
请注意,联系人 4 和 5 被添加为次要联系人,因为这些分支机构已经存在主要联系人,而 6 和 7 被添加为主要联系人,因为这些分支机构不存在主要联系人。
postgres 9.2可以做到这一点吗?