从一个 MySQL 表中检索数据并在另一个表中使用它


Retrieve data from one MySQL table and use it in another one

我在jqgrid中使用了两个表。

Table 1: id->0,1,2; state->1,1,0
Table 2: id->0,1,2,3; product->apple,banana,cherry,melon;

我想找到状态为 1 的 id,并从另一个表中检索相应的产品。有没有合适的方法?下面的$result始终返回零。我已成功连接到数据库。

这是代码:

$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);