Php 如何访问嵌套MySQL查询内部的行

Php 如何访问嵌套MySQL查询内部的行,php,mysql,sql,nested-queries,Php,Mysql,Sql,Nested Queries,我有以下嵌套查询: SELECT * FROM mrp_type WHERE mrp_type.mrp_type_id NOT IN ( SELECT DISTINCT Z.mrp_type_id FROM ( SELECT mrp_type.* , COUNT(*) as rooms_booked FROM mrp_type WHERE bookings_mrp.date >= '2014-02-27'

我有以下嵌套查询:

SELECT * FROM mrp_type 
 WHERE mrp_type.mrp_type_id 
   NOT IN ( 
     SELECT DISTINCT Z.mrp_type_id FROM ( 
         SELECT mrp_type.* , COUNT(*) as rooms_booked FROM mrp_type 
           WHERE bookings_mrp.date >= '2014-02-27' 
            GROUP BY mrp_type.mrp_type_id, mrp_type.num_rooms, bookings_mrp.date 
              HAVING mrp_type.num_rooms - COUNT(*) <= 0 ) as Z )

现在从查询中可以看到,COUNT被用作一个条件,但它现在确实显示在结果集中,因为它在嵌套查询中。运行查询后,如何从PHP代码中访问Count?我可以把它放在一个变量中,或者将该列传递给外部select或其他什么吗?

您只需获得实际响应的行数,并将其减去表中的总行数即可

编辑:

按如下方式编辑您的查询:

SELECT * , (select count(*) from mrp_type) as total FROM mrp_type 
WHERE ...
这里您可以得到表mrp_类型的总行数

然后在查询结果上使用mysql\u num\u rows php.net/fr/mysql\u num\u rows,您将获得所选的行数

之后,您只需执行以下操作:

$rooms_booked = $row['total'] - mysql_num_rows($mysql_result);

查询countas counter表并将其放入FROM子句中

挑选 mrp_类型。*,柜台。预订房间 从…起 mrp_类型, 选择 mrp_类型。*,将*计算为从mrp_类型预订的房间 哪里 预订日期>='2014-02-27' 分组 mrp_type.mrp_type_id,mrp_type.num_房间,预订_mrp.date 有 mrp_type.num_房间-计数*=“2014-02-27” 分组 mrp_type.mrp_type_id,mrp_type.num_房间,预订_mrp.date 有
mrp_type.num_rooms-COUNT*您希望查询做什么?这就是我想要做的,但我知道如何做?你能给我一个代码示例吗