Как мы можем использовать операторы AND & OR и простое соединение? - PullRequest
0 голосов
/ 30 октября 2018

У меня есть две таблицы в моей базе данных CustomerAddresses и Площадь .

Столбцы адресов клиентов: -

  • id (первичный ключ),
  • areaId (внешний ключ со ссылкой на таблицу Areas),
  • CustomerId
  • addressLine1
  • addressLine2
  • ориентир
  • пин-код

Столбцы Районов -

  • areaId (первичный ключ),
  • имя

 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».

Запрос возврата пустого набора.

1 Ответ

0 голосов
/ 30 октября 2018

Проблема здесь не в объединении, а в том, что вы пропускаете подстановочные знаки до и после 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 --------------------^-^
...