У меня есть две таблицы в моей базе данных Адреса клиентов и Площадь.
Столбцы 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».
Запрос возвращает пустой набор.
Вам нужны дикие карты: LIKE %d%
Проблема здесь не в соединении, а в том, что вам не хватает подстановочных знаков до и после 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 --------------------^-^
следует добавить оператор
%
like '%d%'