select id from tp_message
where type=0 and isdelete=0 and to_uid=3 and source_message_id=0
union all
select source_message_id id from tp_message
where type=0 and isdelete=0 and to_uid=3 and source_message_id!=0 group by source_message_id order by id asc
where type=0 and isdelete=0 and to_uid=3 and source_message_id=0
union all
select source_message_id id from tp_message
where type=0 and isdelete=0 and to_uid=3 and source_message_id!=0 group by source_message_id order by id asc