2015-01-17 57 views
0

我有两个表我在jqgrid中使用。从一个MySQL表中检索数据并在另一个中使用它

Table 1: id->0,1,2; state->1,1,0 

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

我想找到状态为1的ID并从其他表中检索相应的产品。有没有适当的方法来做到这一点? $结果总是返回零。我已成功连接到数据库。

下面是代码:

$var = "SELECT id FROM table1 WHERE state = 1"; 

$result = mysql_query($var); 

$grid->setSelect('order', "SELECT id, product FROM table2 WHERE id='$result' "); 

回答

2

您可以运行一个查询:

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); 
+0

这个效果非常好! –

相关问题