所以我在一个表(statename)中有一个列,如下所示: TBLOTHER(Statename的)
和另一个表中没有联邦公路号码的另一列,只有州名 TBLSTATE(名称)
如何将tblstate(name)中的列与tblother(name)进行比较?我想根据名称相同,将TBLSTATE中不同列的值复制到TBLOTHER。谢谢
答案 0 :(得分:3)
可能是这样的:
where tbl2.name like tbl1.name ||'%'
或者你可以做一些花哨的substr比较
答案 1 :(得分:2)
有趣。我会采取不同的方法
where substr(tblother.statename, 1, len(tblstate.name)) = tblstate.name
即,将两个字符串与实际状态名称的长度进行比较。
答案 2 :(得分:0)
如果TBLOTHER
中的数据与此处的数据一样规则,我的猜测是剥离“联邦高速公路”位然后进行比较是最安全的,即
where tblstate.name = substr( tblother.statename,
1,
instr( tblother.statename, 'Federal Hwy' ) - 1 )
这比直接LIKE
更多的工作,但如果你可能有像'Puebla'和Puebla-Foo
这样的名字,其中一个包含另一个名称,这会有所帮助。