kukaew
@kukaew

Как правильно записать запрос с оператором IN в mySQL?

Строка tree в базе (тип данных text) = "1", "2", "3"

$x = 1;

Как такое записать?

$sql = mysql_query( 'SELECT tree FROM a WHERE $x IN ( tree )' );

Может быть исправить tree на 1, 2, 3 ? А как записать?
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
Две таблицы понадобится.
Первая tbl_a с общими данными про дерево. Например, с полями id, title:
id  title
1   клён
2   дуб

Во вторую tbl_b кладите перечисляемые значения по одному, со ссылкой на id дерева, к которому оно относится. Там будут поля id, a_id, x:
id a_id  x
7  1     1
8  1     2
9  1     3

Теперь можно найти общие данные дерева, для которого есть значение x=1:
SELECT tbl_a.* 
FROM tbl_a JOIN tbl_b ON tbl_a.id = tbl_b.a_id 
WHERE tbl_b.x = 1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы