intente esto y no funciona

byes
10 de Septiembre del 2002
select DISTINCT empresas.id_empresa, empresas.nombre, empresas.localidad, empresas.telefono from empresas,contacto_empresa,contactos where id_empresa IN (select DISTINCT contacto_empresa.id_empresa from contacto_empresa, contactos where ((contacto_empresa.id_contacto=contactos.id_contacto) and ((contactos.apellidos='%$apellidoscon%') or (contactos.nombre='%$nombrecontactocon%'))))

alguien podria ayudarme?
thanks