У меня есть две таблицы, которые я использую в jqgrid.
Table 1: id->0,1,2; state->1,1,0
Table 2: id->0,1,2,3; product->apple,banana,cherry,melon;
Я хочу найти идентификаторы с состоянием 1 и получить соответствующий продукт из другой таблицы. Есть ли правильный способ сделать это?
$ результат ниже всегда возвращает ноль. Я успешно подключился к базе данных.
Вот код:
$var = "SELECT id FROM table1 WHERE state = 1";
$result = mysql_query($var);
$grid->setSelect('order', "SELECT id, product FROM table2 WHERE id='$result' ");
Вы можете выполнить один запрос:
SELECT t2.id, t2.product
FROM table2 t2
WHERE t2.id = (SELECT t1.id FROM table1 t1 WHERE t1.state = 1);
Если подзапрос мог вернуть более одного результата, используйте in
вместо =
:
SELECT t2.id, t2.product
FROM table2 t2
WHERE t2.id IN (SELECT t1.id FROM table1 t1 WHERE t1.state = 1);
Других решений пока нет …