我有SQL表策略,其中包含作为PolicyNumber的列,其值为'CCL-9997-10497' 另一个表PolicyImages,它还有一个PolicyNumber列,其值为'CCL-9997-000010497'
我想在PolicyNumber上加入这两个表吗? 我怎样才能实现它?
答案 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')
如果这是格式化问题,那么解决方案实际上是特定于数据库的。