匹配两个变量以创建新ID

时间:2014-01-08 17:23:12

标签: sql merge match postal-code

我正在尝试创建一个SQL语句来匹配ID号或邮政编码,然后分配一个新的ID号

我最终想要的是'newid',它正确地识别出前四个记录是同一个人(即使记录2的邮政编码不同)。

record  id  postcode  newid
--------------------------
   1    1      1       1
   2    1      2       1
   3    1      1       1
   4    2      1       1
   5    3      3       2

任何建议都会受到重视。

1 个答案:

答案 0 :(得分:0)

根据你的例子:

SELECT RECORD, 
       (SELECT MIN (ID)
        FROM users u2
        WHERE users.id IN (u2.id, u2.postcode)
        OR users.postcode in (u2.id, u2.postcode)
       ) AS newid

FROM users

结果如下:

RECORD     NEWID
------------------
   1         1
   2         1
   3         1
   4         1
   5         3

以下是SQLFiddle