Я пытаюсь создать фильтр, чтобы найти все stuffs
из различных substances
.
В базе данных есть:
- a
stuffs
таблица - a
substances
таблица - a
stuffs_substances
таблица соединения,
Теперь я хочу найти только все stuffs
, которые сделаны из gold
И silver
(не все материалы, содержащие золото, и все материалы, содержащие серебро).
И последнее: конечный пользователь может ввести только часть имени вещества в поле формы фильтра.Например, он наберет silv
, и он покажет все материалы, сделанные из silver
.
Итак, я сделал этот запрос (не работает):
select "stuffs".*
from "stuffs"
inner join "stuffs_substances" as "substances_join"
on "substances_join"."stuff_id" = "stuffs"."id"
inner join "substances"
on "substances_join"."substance_id" = "substances"."id"
where ("substances"."name" like '%silv%')
and ("substances"."name" like '%gold%')
Возвращает пустой массив.Что я здесь не так делаю?