在另一个sql语句中重用资源

时间:2009-09-04 13:42:40

标签: php mysql

我正在使用php和mySql服务器,对所有的sql都很新,我有一个问题: 我有一个问题:

$book_copy_user =  "SELECT * FROM copy_book " .
                   "JOIN copy_user_own " .
                   "ON copy_book.copy_id = copy_user_own.copy_id " .
                   "WHERE copy_user_own.user_id=1";

$res1 =mysql_query($sql1) or die (mysql_error());

返回类似

的内容
[{"copy_id":"1","book_id":"1","user_id":"1"},
{"copy_id":"2","book_id":"2","user_id":"1"},
{"copy_id":"3","book_id":"3","user_id":"1"},
{"copy_id":"4","book_id":"4","user_id":"1"}]

我想用where子句对结果进行3次不同的选择,但是当试图这样做时它告诉我有更多的一列。

我的问题是: 有没有办法可以使用选择结果并对其应用选择? 如果是这样,我如何与选择结果中的字段相关?

请提供代码示例

谢谢你们所有的圣徒:)

2 个答案:

答案 0 :(得分:1)

您可以将数据选择为temporary table并在该表格上执行更多查询。

CREATE TEMPORARY TABLE temp_table SELECT ...

但我认为如果您发布实际问题最好,那么很可能会有更好的解决方案。

答案 1 :(得分:0)

SELECT * FROM (SELECT * FROM copy_book JOIN copy_user_own ON copy_book.copy_id = copy_user_own.copy_id WHERE copy_user_own.user_id=1) WHERE copy_id = 4

通过我不确定它是否适用于mysql。

不,在运行选择后,您无法在其上应用另一个。