繁体   English   中英

如何在后续查询中使用SQL查询的结果?

[英]How do I use the results of a SQL query in a subsequent query?

我想在后续查询的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)")

您可以将其合并为单个MySQL语句,如下所示:

SELECT * FROM Table2 WHERE id IN
(SELECT id FROM Table1 where upper('$Input') = Employee_number);

但是,如果您真的想像问题中那样进行操作,则可能必须查找如何使用mysql_query的结果,只需在函数引用中查找即可。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM