我一直在思考這個問題有一段時間,並不能找到解決方案(這可能是簡單的。)SQL:創建項目唯一的ID與幾個IDS
我有兩列,顯示錶哪些ID是連接的,即屬於同一個人。
在這個例子中,只有三個人,但其中一人有三個唯一的ID。
PID | EPID
---------+--------
10004835 | 10004835
10015375 | 10015375
10015375 | 10019859
10019859 | 10015375
10019859 | 10019859
10019859 | 10000000
10000000 | 10019859
10020104 | 10020104
我想要做的是簡單地將列添加到該表,它給出每個獨特的個體的唯一代碼。這就像
PID | EPID | NPID
---------+----------+-----
10004835 | 10004835 | 1
10015375 | 10015375 | 2
10015375 | 10019859 | 2
10019859 | 10015375 | 2
10019859 | 10019859 | 2
10019859 | 10000000 | 2
10000000 | 10019859 | 2
10020104 | 10020104 | 3
Ps。我正在使用sqlite3所以沒有遞歸的答案請。
編輯:除非我能找到適用於SQLITE3的解決方案,否則我將不得不使用MYSQL。在那種情況下,有沒有人知道包含遞歸的解決方案?
因此,如果EPID =不同行的PID,那麼這個人被認爲是相同的? [你到目前爲止試過什麼SQL?](http://whathaveyoutried.com) –
像(10015375; 10019859)和(10019859; 10015375)這樣的記錄對我來說看起來多餘?也許你應該重新設計你的模式,產生兩個字段 - ID(唯一代理鍵)和EID(你當前的任何ID)。 – Arvo
@Arvo它包含冗餘。但是我正在幫助的女性給我提供數據的方式(她和我一樣沒有技術含量)。 –