我想在后续查询的where
语句中使用查询的结果集。
遇到问题,因为第一个查询返回多个结果,我不知道如何将这些转换为以逗号分隔的字符串,以便在'IN' ()
语句中使用。
$Result1 = mysql_query ("
select id from Table1
where
upper('$Input') = Employee_number
")
or die(mysql_error());
$Result2 = mysql_query ("
Select * from table2 where ID in ($Result1)")
答案 0 :(得分:3)
您可以将它组合成一个MySQL语句,如下所示:
SELECT * FROM Table2 WHERE id IN
(SELECT id FROM Table1 where upper('$Input') = Employee_number);
但如果您真的想在问题中这样做,您可能必须查找如何使用mysql_query
的结果,只需在函数参考中查找即可。
答案 1 :(得分:2)
$query1 = mysql_query("
select id from Table1
where upper('$Input') = Employee_number
") or die(mysql_error());
$ids = array();
while($Result1 = mysql_fetch_array($query1))
{
$ids[] = $Result1['id'];
}
if(sizeof($ids))
{
$n_ids = implode(',', $ids);
$query2 = mysql_query("
select * from Table2
where ID IN (" . $n_ids . ")
") or die(mysql_error());
}