我的数据库 CustomerAddresses 和 Area 中有两个表。
CustomerAddresses的列为-
区域列为-
SELECT * FROM CustomerAddresses CA, Areas A
WHERE CA.areaId = A.areaId
AND
CA.customerId = 1
AND
( CA.addressLine1 like 'd'
OR
CA.addressLine2 like 'd'
OR
CA.landmark like 'd'
OR
CONVERT(pincode, CHAR) like 'd'
OR
A.name like 'd' );
我想从CustomerAddresses中提取一位客户的所有地址,然后搜索那些记录中是否存在字符“ d”。
查询返回空集。
答案 0 :(得分:1)
这里的问题不是联接,而是事实,您在d
调用中的like
前后缺少通配符:
CA.addressLine1 like '%d%' OR
CA.addressLine2 like '%d%' OR
CA.landmark like '%d%' OR
CONVERT(pincode, CHAR) like '%d%' OR
A.name like '%d%'
-- These --------------------^-^