Есть 2 таблицы, из одной я могу выбрать список нужных мне id:
SELECT id FROM `table_with_id` WHERE parent_id = "100500"
А в другой есть поле alias, которое содержит эти id из списка вот в таком виде: category_id=1
Как мне выбрать из второй таблицы все подходящие мне строки в которых значения поля alias были бы равны category_id={{любое значение из моей первой выборки}}
Есть два основных способа реализации такого запроса: join и in/any
Если поле называется alias
, то запросы могут выглядеть как-то так:
В первом случае вам нужно объединить таблицы по соответствующим полям
select *
from table2 t2
join table_with_id t on
t2.alias = concat('category_id=', t.id) and
t.parent_id = 100500
Во втором используем подзапрос:
select *
from table2 t2
where t2.alias in (
select concat('category_id=', t.id)
from table_with_id t
where t.parent_id = 100500
)
Для второй таблицы нужно использовать в WHERE
функцию IN
, в которой выполняем первый запрос. Приме:
SELECT id FROM `table2` WHERE category_id IN (SELECT id FROM `table_with_id` WHERE parent_id = "100500")
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста, есть код, в этом коде, происходит разложение текста в массив, после чего идет проверка текста с изменением его согласно...
Есть таблица Фильмов,Актеров и таблица соединяющая ид фильма и ид актераЕсть разметка