Следующий запрос дает мне ошибку

php mysql select where-clause sql-like

40 просмотра

1 ответ

1 Репутация автора

SELECT * FROM `sales_channels` 
WHERE channel_id In ('implode(',',Select channel_id from users ))
Автор: nibie Источник Размещён: 18.07.2016 06:00

Ответы (1)


1 плюс

8058 Репутация автора

Обратите внимание, что implode () является функцией PHP. Это не может быть использовано в запросе MySQL таким образом.

Там нет необходимости этого взрыва в любом случае. Попробуй это:

SELECT * FROM sales_channels 
WHERE channel_id IN (SELECT channel_id from users)

Другим способом было бы использовать INNER JOIN.

 SELECT * 
 FROM sales_channels INNER JOIN users
 ON sales_channels.channel_id = users.channel_id;

Приведенный выше запрос вернет те строки с совпадающим channel_id из обеих таблиц.

Вы можете посмотреть синтаксис MySQL JOIN здесь.

Автор: Object Manipulator Размещён: 18.07.2016 06:02
Вопросы из категории :
32x32