@rinaz22

Как использовать значение для IN, которые берутся с другой таблицы?

Всем привет. Делаю 3 запроса на 3 таблицы(buy, ls, em):
$query = mysqli_query($db, "SELECT b.`id`, b.`date`, l.`path` FROM `buy` b
INNER JOIN `em` e ON b.`em_id` = e.`id`
INNER JOIN `ls` l ON b.`ls_id` IN (l.`id`)");

b.ls_id может содержать как 1 id, так и несколько записанные через запятую(1,2,3).
Как правильно делать запрос, чтобы получить l.path как 1-ой записи, так и нескольких(если в b.ls_id несколько id)?
  • Вопрос задан
  • 28 просмотров
Решения вопроса 1
@Akina
Сетевой и системный админ, SQL-программист.
SELECT b.`id`, b.`date`, l.`path` 
FROM `buy` b
INNER JOIN `em` e ON b.`em_id` = e.`id`
INNER JOIN `ls` l ON FIND_IN_SET(l.`id`, b.`ls_id`)

PS. Хранение данных в CSV - это денормализация, дурной тон, и вообще кривой переулок, ведущий прямо на поле с граблями...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы