Welcome Guest, Not a member yet? Register   Sign In
problem on query
#1

[eluser]Bigil Michael[/eluser]
in my hotel reservation, first i want to check the availability of rooms. inorder to do that i generated a query given below, it print room categories
Code:
$result_item = $this->db->query("SELECT DISTINCT rc.category_name,rc.category_id  
FROM rooms_category AS rc
INNER JOIN  
  (SELECT r.rooms_name, r.id, r.category_id
  FROM rooms AS r
  LEFT JOIN ( SELECT rr.rooms_id, rr.checkin_date, rr.checkout_date
    FROM rooms_reservation AS rr
    WHERE   ((
       rr.checkin_date
       BETWEEN '$start_date'
       AND '$end_date'
      )
      OR (
       (rr.checkout_date)
       BETWEEN '$start_date'
       AND '$end_date'
      )
      OR((rr.checkin_date < '$start_date') AND ((rr.checkout_date) > '$end_date')
      ))
      AND rr.status='1'
      
    ) AS ar ON r.id = ar.rooms_id WHERE ar.rooms_id is null AND r.status='1'
  )AS ac ON ac.category_id = rc.category_id LIMIT $pgoffset,$limit");
  return $result_item->result();
it is working fine
now my client's requirement is to print room categories with multiple rooms available.

now i changed my query like this

Code:
$result_item = $this->db->query("SELECT DISTINCT rc.category_name,rc.category_id  
FROM rooms_category AS rc
INNER JOIN  
  (SELECT r.rooms_name, r.id, r.category_id
  FROM rooms AS r
  LEFT JOIN ( SELECT rr.rooms_id, rr.checkin_date, rr.checkout_date
    FROM rooms_reservation AS rr
    WHERE   ((
       rr.checkin_date
       BETWEEN '$start_date'
       AND '$end_date'
      )
      OR (
       (rr.checkout_date)
       BETWEEN '$start_date'
       AND '$end_date'
      )
      OR((rr.checkin_date < '$start_date') AND ((rr.checkout_date) > '$end_date')
      ))
      AND rr.status='1'
      
    ) AS ar ON r.id = ar.rooms_id WHERE ar.rooms_id is null AND r.status='1' AND (SELECT COUNT(r.category_id)>=2)
  )AS ac ON ac.category_id = rc.category_id LIMIT $pgoffset,$limit");
  return $result_item->result();


change is only added this line
AND (SELECT COUNT(r.category_id)>=2)

here 2 is just a static value for test

now the result is empty every time
if i use the code AND (SELECT COUNT(r.category_id)>=1) it will shows result
i think this count portion is not working....

can anyone help me to solve this problem?????
thanks in advance....




Theme © iAndrew 2016 - Forum software by © MyBB