Внутреннее соединение с подобным
Привет,
У меня есть 2 таблицы транспортных средств, такие как (Год выпуска/марка/модель/отделка/двигатель/трансмиссия).
пытаюсь соединить 2 таблицы с помощью inner join on year/make/model/transmission, но цилиндр на самом деле не равен. В tb1 цилиндре будет что-то вроде (8cyl. / 4cyl.), в tb2 цилиндре будет часть значения поля что-то вроде (coupe 4cyl. manaul).
Я пытался использовать LIKE, но это не работает, хотя цилиндр в tb1 является частью поля цилиндра tb2.
У меня есть 2 вопроса:
1-Как использовать Like with inner join, чтобы получить все строки с одинаковым номером цилиндра (что я уже пробовал!)
2-Можно ли обрезать поле в tb2, чтобы получить только цилиндр № so (coupe 4cyl. manaul) будет просто (4cyl).
Редактировать: использование SQL server 2008 R2
спасибо,
Самира
Что я уже пробовал:
Вот что я попытался внутренне соединить 2 таблицы, которые идеально работают без цилиндра:
Select table1.* tb1 inner join table2 tb2 on tb1.year=tb2.year and tb1.make=tb2.make and tb1.model=tb2.model and tb1.transmission=tb2.transmission and (tb1.EngineCylinder like '%' + tb2.EngineCyliner + '%') --or use where -- also tried: and tb1.EngineCylinder in (select EngineCylinder from tb2)
Herman<T>.Instance
установите последнее и в предложение WHERE
Samira Radwan
Спасибо! Я уже пробовал, где это делает решение @Homero Rivera.