Here it goes. This is a small schema of the two tables. Table Employees i_recid = auto increment UNIQUE KEY First Name Last Name ETC. Table Contracts sales_rep = e.i_recid Contract Date = date of contract Office = office So here is what i am trying to do. Run a report that calulates Who had a sale between adate (2001-04-05) and bdate (2001-05-05) AND that report can be in any number range specified <= 8 (in other words less than 8 contracts written) in order of count (7,6,5,4,3,2,1,0). I need it to show 0, that is the main problem. It isn't showing zeros becuase before i was doing a SELECT directly from the contracts table. The client is insisting on having the ZERO though and it has to stay in order. Below is a sample SQL query, i have tried a few others but i am stuck. <ilist search="SELECT count(c.sales_rep) as cnt, concat(e.last_name,', ',e.first_name) as full_name, c.office, c.sales_rep, e.i_recid FROM employee e LEFT JOIN contracts c on e.i_recid=c.sales_rep WHERE c.install_date='@date(YYYY-NM-ND)' <ieval @input(office,0) ne 0>and c.office=@input(office)</ieval> GROUP by c.office, c.sales_rep having count(c.sales_rep) @input(operation) @input(count,0) ORDER BY cnt desc"> Ignore the ilist (sql) and ieval (perl's IF THEN) they are a dynamic way of embedding sql and perl code into the html. The big problem is that i have been unable to join the tables because of the WHERE conditions. I am not sure if the subqueries are even supported by mysql. Will creating a temporary table using a LEFT JOIN to collect the information work? Or is there an easier way that i have overlooked. Dan