2013-04-12 83 views
1

我想知道我怎么能在PHP代码,执行两个MySQL查询(QUERY_1和query_2),但这样的QUERY_1的每个结果仅显示query_2结果:PHP MySQL的两个查询

query_1==> `SELECT tbl_name FROM table_ref ` 

query_2 ==> `SELECT id,name FROM (result of the first query)` 

QUERY_1返回表的名称:表1,表2,表3,并与query_2我必须这样做:你的建议

SELECT id,name FROM table1SELECT id,name FROM table2 ...在一个循环中提前

谢谢!

+0

希望tbl_name不表名:)没有得到疯狂:) –

+0

不,这tbl_name :) –

回答

1
SELECT id, name FROM sometable WHERE name in (SELECT tbl_name FROM table_ref) 

在这个例子中我们需要有2个表

+0

耶府这不是我所需要的,因为'sometable'来自代码 –

0

在PHP端之间的连接,就可以处理两种阿雷结果FOLL:

$array1 = array('tbl_name1' => '' ,'tbl_name2' => ''); 

$array2 = array('tbl_name1' => array('id' => 'id1'), 
       'tbl_name2' => array('id' => 'id2')); 

echo '<pre>'; 
print_r(array_intersect_key($array2, $array1)); 
echo '</pre>'; 

O/P:

Array 
(
    [tbl_name1] => Array 
     (
      [id] => id1 
     ) 

    [tbl_name2] => Array 
     (
      [id] => id2 
     ) 

) 
+0

中的'IN'后面的第二个查询,但是如何将这两个查询放在一起,特别是有很多结果 –

+0

array1 =>结果查询1,数组2 =>查询2的结果 –

+0

我不明白你在query2中包含query1的位置,我需要类似于:'SELECT id,name FROM(SELECT tbl_name FROM table_ref)' –