у меня есть эти 5 таблиц, который sale_order
непосредственно связан с sale_order_line
, что имеют продукты порядка, конечно, который подключен к product_product
, который подключен к product_template
, где таблица называется mrp_bom
может подключиться к шаблону продукта и подключенной к нему таблице, которая равна bom_line
. Я пытаюсь вывода продуктов, которые содержат слово 836g
PostgreSQL Inner Регистрация Где получить идентификаторы 3 продукта
Вот то, что я до сих пор:
Select so.name,
pt.name,
sol.name
From sale_order so
Inner Join sale_order_line sol
On so.id = sol.order_id
Inner Join product_template pt
On sol.product_id = pt.id
Inner Join mrp_bom bom
On pt.id = bom.product_tmpl_id
Inner Join mrp_bom_line boml
On bom.id = boml.bom_id
Where boml.product_id = (Select id From product_template Where name Like '%836g%'
Order By so.name
Этот код выдает ошибку, потому что у меня есть 3 пунктов с 836g
. Я попытался изменить =
в состоянии на IN
, чтобы он захватил все id
с его возвратом. Но все же это дает мне ошибку. Это лучшее, что у меня есть до сих пор, я много раз пробовал, но не могу понять.
Есть ли причина, по которой вы не можете просто использовать это: 'WHERE pt.id LIKE '% 836g%''? Можете ли вы показать нам пример ввода и вывода? –
его идентификатор не является строкой. 836g - это всего лишь часть одного из моих продуктов. – Siege21x
Вы используете MySQL или Postgres? Это разные базы данных. –