嵌套选择查询问题

时间:2011-05-08 22:43:01

标签: php mysql sql nested-queries

我有一个select查询,它提取了一个包含行的表,我想从这个结果中获取一个特定的行,但使用相同的第一个查询,我解释一下:

我们有一个查询:

$myQuery=("select col1,col2 from table where ..");

看起来就是这样:

|col1|col2 |
|----------|
|res1|res11|
|res2|res21|
|res3|res31|

我现在想要获得res31,但是使用名为$myQuery的同一个最后一个查询,就像我们向其添加select * from ...一样。

我希望我确实解释过,请说如果我做得不够。

问候!

2 个答案:

答案 0 :(得分:2)

如果我理解正确:你可以输入

SELECT * FROM ($myQuery) WHERE id=31 (OR any other stuff you wish to)

MySQL会理解

答案 1 :(得分:0)

如果您使用Mysqli,则可以使用binded params来实现此目的。使用PDO会更好。

Psuedo-code,说明如何使用绑定参数执行此操作:

$myQuery = "SELECT col1, col2, FROM table WHERE col2 = ?";
$result_31 = $db->select($myQuery, Array('res31')); 
$result_32 = $db->select($myQuery, Array('res32')); 

这只是将查询参数绑定到?的示例。深入了解最适合您的mysqli和PDO的API。强烈建议使用PDO,因为如果需要,您可以在不更改所有数据库查询的情况下从使用mysql更改为postgres。