MySQL:如何在现有记录集上执行查询?

时间:2011-03-23 08:37:45

标签: mysql select

我想对现有记录集执行SELECT查询,例如:

query1 = 'Select * from products where onSale = 1'

然后

query2 = 'Select * from recordset1 where ....'

其中recordset1query1返回的行数。 有什么建议?谢谢!

3 个答案:

答案 0 :(得分:1)

使用子查询:

SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2);

答案 1 :(得分:0)

如果这只是在MySQL中,那么你可以做

SELECT * FROM(SELECT * FROM products WHERE onsale = 1)AS OnSaleProducts

使用您的示例,

从中选择不同的colorid (SELECT * FROM product,collectionItems,其中collectionItems.CollectionID ='6'和collectionItems.ProductID = product.barcode)作为1stResults 其中typeid ='“。$ _ SESSION ['typeid']。”'和stoneid ='“。$ _ SESSION ['stoneid']。”' 按colorid asc排序;

如果您不想再次运行第一个查询,请考虑使用临时表来存储结果,然后从中查询,就像它是普通表一样。

答案 2 :(得分:0)

此外,您可以填充临时表。

例如:

CREATE TEMPORARY TABLE temp_table SELECT * FROM products WHERE onsale = 1
你写道: 其中recordset1是query1返回的行数。有什么建议?谢谢!

行数可以存储在变量中,在这种情况下,您不需要设置resault。