У меня возникла проблема с SQL-сервером для получения поля значений путем сопоставления двух полей из другой таблицы. вот мое описание:Как сопоставить значения двух полей из двух разных таблиц, чтобы вернуть другое значение, связанное с одним
Таблица A содержит
ProductID ProductName
01 Health insurance1
02 Health insurance2
03 Health insurance3
o4 Car Insurance1
o5 Car Insurance2
06 Property Insurance1
07 Property Insurance2
Таблица B содержит только
ProductName
Health Insurance1 Yr 10- 11
TTK Health Insurance Yr 2
Health Insurance3 Yr 5-6
Car Insurance1 Yr 3
Car Insurance Yr 4
Car Insurance3 Yr 4-5
Property Insurance Yr 1
Property Insurance3 Yr 5
То, что я хочу, чтобы запрос, чтобы вернуть это ProductID из таблицы А появился и выровнены точно с именем productName в таблице B, как и в таблице A. Обратите внимание, что значения из обоих полей productName не совсем одинаковы, но выглядят очень похожими.
Ниже приведен сценарий, который я пытался использовать LIKE-оператором, но он вернул мне избыточный идентификатор продукта, так как кажется, что оператор LIKE ничего не обрабатывает после «страхования».
select distinct
a.productID, b.productname
from
tableA a,
tableB b
where
b.productname like '%' + a.productname+ '%'
or a.productname like '%' + b.productname+ '%'
order by a.prodID
Пожалуйста, помогите мне решить эту проблему. Заранее спасибо!!
Таким образом, единственная связь между таблицами A и B заключается в том, что ProductName аналогичен? – Ghost