内部联接表

时间:2014-02-11 16:00:08

标签: sql inner-join

我有SQL表策略,其中包含作为PolicyNumber的列,其值为'CCL-9997-10497' 另一个表PolicyImages,它还有一个PolicyNumber列,其值为'CCL-9997-000010497'

我想在PolicyNumber上加入这两个表吗? 我怎样才能实现它?

3 个答案:

答案 0 :(得分:1)

您的两个表具有不同的PolicyNumber格式,因此您需要某种计算。 我认为以下查询将帮助您

SELECT a.* FROM
FROM Table1 a INNER JOIN Table1 b ON a.PolicyNumber = 
Replace(b.PolicyNumber,'-' + right(b.PolicyNumber,charindex('-',REverse(b.PolicyNumber))-1),
'-' + convert(varchar,Convert(Decimal,right(b.PolicyNumber,charindex('-',REverse(b.PolicyNumber))-1)))
)

答案 1 :(得分:0)

这应该这样做:

SELECT *
FROM Policy 
INNER JOIN PolicyImageq ON Policy.PolicyNumber = PolicyImages.PolicyNumber

答案 2 :(得分:0)

如果这是一次性错误,那么你可以这样做:

Policy p join
PolicyImages pi
on p.PolicyNumber = pi.PolicyNumber or
   (p.PolicyNumber = 'CCL-9997-10497' and pi.PolicyNumber =  'CCL-9997-000010497')

如果这是格式化问题,那么解决方案实际上是特定于数据库的。