相同的信息在两列之间分割

时间:2016-07-28 18:44:56

标签: sql sql-server

我正在尝试从大表中提取数据,然后将其连接到另一个表以获取地址列表。这是我的问题:在我的第一个表中有两列,ADDRKEY和PRCLKEY,它们都包含相同的信息。但是,出于某种原因,~80%的条目在ADDRKEY字段中具有此“地址标识符编号”,PRCLKEY等于1,而其他20%在PRCLKEY字段中具有“地址标识符编号”,并且ADDRKEY字段输入为1。

我需要一种方法只使用Table1中任一列的真实标识符(非1)并连接到T2.ParcelID = T1上的Table2。(如果> 1则为ADDRKEY或PRCLKEY)

2 个答案:

答案 0 :(得分:0)

您可以将NULLIF()与COALESCE():

一起使用
SELECT COALESCE(NULLIF(ADDRKEY,'1'),NULLIF(PRCLKEY,'1')) AS AddressIndentifier

答案 1 :(得分:0)

尝试

Table2 on T2.ParcelID = Case When T1.ADDRKEY > 1 Then T1.ADDRKEY Else PRCLKEY End