Вообщем составил. Вроде работает, но не совсем уверен.
[sql]SELECT a.`_id`, a.pn as p, a.name, a.`date`, a.`time`, TRIM(CONCAT(if(d.paddr='','',CONCAT(d.paddr, ', ')), d.pcity, ' ', if(d.pstate='','',CONCAT(d.pstate, ', ')) ,d.pzip, ' ',d.pcounty)), d.phone1 ,
TRIM(CONCAT(if(d.addr='','',CONCAT(d.addr, ', ')), d.city, ' ', if(d.state='','',CONCAT(d.state, ', ')),d.zip)) ,
CONCAT(a.pn,a.`date`,a.`time`) AS `pndate`,
MIN(`_index9`) as `ind`,
SUBSTR(GROUP_CONCAT(a.`time` ORDER BY 'pndate' ASC ) FROM 1 FOR 1) as mt
FROM appoint AS a LEFT JOIN demo_demo AS d ON a.pn = d._pn
WHERE a.`date` IS NOT null AND a.pn IS NOT null AND a.pn <> '' AND a._index10 >= '2007-01-01' AND a._index10 <= '2007-01-01'
GROUP BY 'pndate' HAVING(mt) = 0
[/sql]