从单个表中检索数据以与mysql中的另一个表进行比较

时间:2013-07-25 07:06:02

标签: mysql

SELECT *
FROM `room_type`
WHERE h_id='$h_id'
  AND `rt_oc` >= '$tperson'
  AND `rt_num` <
    (SELECT COUNT(`check_out`)
     FROM `room_info`
     WHERE `h_id`='$h_id'
       AND
       LEFT JOIN `room_type` ON room_type.rt_type=room_info.room_type));

这里我想从table1中选择数据,它将比较table2相同列值的总和中的列值。

2 个答案:

答案 0 :(得分:0)

WHERE `h_id`='$h_id'
       AND
       LEFT JOIN

这不起作用,需要像这样更新子查询:

(SELECT COUNT(`check_out`)
     FROM `room_info`
     LEFT JOIN `room_type` ON room_type.rt_type=room_info.room_type
     WHERE `h_id`='$h_id')

顺便说一下,在查询结束时你有)); - 检查它。

SELECT *
FROM `room_type`
WHERE h_id='$h_id'
  AND `rt_oc` >= '$tperson'
  AND `rt_num` <
    (SELECT COUNT(`check_out`)
     FROM `room_info`
     LEFT JOIN `room_type` ON room_type.rt_type=room_info.room_type
     WHERE `h_id`='$h_id')

答案 1 :(得分:0)

您的查询应该是:

SELECT *
FROM `room_type`
WHERE h_id='$h_id'
  AND `rt_oc` >= '$tperson'
  AND `rt_num` <
    (SELECT COUNT(`check_out`)
     FROM `room_info`
        LEFT JOIN `room_type` ON room_type.rt_type=room_info.room_type
           WHERE `h_id`='$h_id'));
相关问题