我有兩個表,已經填充了數據如下:Postgres的查詢交叉檢查2個表
table1
數據是公民的數據,與字段:
uniqid (a uniqueIP for person, like social sec num)
first_name
last_name
birthdate
address
table2
與字段:
first_name
last_name
birthdate
address
gender
healthinsurance_type
...
table1
數據和table2
數據來自不同和獨立的機構。這些表中的名稱可以以不同的方式輸入,依此類推。
table1
是名稱和ID的權威。 table2
是我需要處理的,但沒有ID()。
現在我需要每一行table2
獲得citizenid
,從table1
相關聯,因此,在年底,我得到table2
額外的ID列,正確地與每個人相關。
喜歡的東西在table1
一個人(在table2
行),其中某些條件下比賽,如果在table1
存在的紀錄,把該記錄的ID列在table2
搜索。
但是快速和所有的行。
table1的行數約爲200萬。
表2的行數大約爲900.000
計算機c應該非常有效地解決這個問題。基本上你不能加入這些表格。也許你可以創建第三個表,將這兩個錶鏈接在一起,或者將一個表中的列添加到另一個表中。 – Jasen
你忘了提供數據類型和約束。用'\ d tbl'提供你從psql得到的東西(的相關部分)。而且,作爲* always *,你的Postgres版本。另外,雙方都可以有重複嗎? –
vresion 9.1 表1: uniqid:整數(11位),PK 名:字符,不爲空 出生日期:日期,不爲空 地址:字符,不爲空 表2: 姓名,地址,性別,insutype: char,not null birthdate:date,not null table1數據來自民事登記處。這是參考。沒有重複。 表2數據是建議的醫療保健接受者名單,由領域官員手動收集(不幸的是,不包括公民身份證號碼),然後應該提交給每個人都有公民身份證的部門。 所以我需要在table2中的每個人上輸入正確的公民ID,使用table1作爲參考 – rifaiz