我一直在寻找并解决我的问题的解决方案,即使我发现了一些可能会有所帮助的方法,但我不确定这是否是满足我需要的正确方法。请记住,我正在学习并且对SQL相当陌生。但是我有两个要使用内部联接查询的表。
两个表中都有一个名为CAVITY
的列,但它们以不同的格式保存值。一个表的值保留为H02,另一表的值保留为2。
我想使用H02格式对此列进行内部联接,但不想更新将值保存为单个数字的表(出于数据输入目的)。因此,例如,如果一个表列包含H02,而另一个表列包含2,我希望将其合并。如果一个表具有H13,另一个表具有H13,我希望它也成为联接。因此,基本上,我要删除H和0(但前提是直接在H后面有0)。除非有一种方法可以做到相反,然后从另一个表的结果中添加H / H0。
example data
table1.cavity table2.cavity
H01 = 1
H02 = 2
H10 = 10
H12 = 12
我的查询结果是否为H0版本与我无关紧要;我只需要加入即可工作;最后我可以适应任何一个结果。
我正在使用SQL Server 2005
我有其余的查询,它工作正常;我只需要添加此额外的联接。请帮忙!任何帮助是极大的赞赏。谢谢
最佳答案
REPLACE(REPLACE(cavity,'H0',''),'H','')
第一个删除H0:REPLACE(cavity,'H0','')
然后第二个替换所有剩余的H:REPLACE(output_of_previous,'H','')