Consulta de SQL que devuelve "El operando debe contener 1 columna (s)"

Actualmente estoy trabajando en una consulta que tendrá todas las filas de una tabla, pero solo información limitada de la otra.

He intentado trabajar con esta consulta:

SELECT `t`.`uid`, `t`.`cid`, `t`.`id` FROM `tracking` as `t`
JOIN (SELECT DISTINCT(`p`.`id`, `p`.`firstname`, `p`.`lastname`, `p`.`company`) FROM `publishers` as `p`) as `p`
ON `p`.id = `t`.uid

Sin embargo, me sale el error como en el título del tema.

¿Alguien puede ver lo que estoy haciendo mal aquí?

Editar:

Estructura sobre seguimiento: id int (11) ai primario, cid int (11), uid int (11).

Estructura de los editores: id int (11) primario ai, primer nombre varcher (60), apellido varchar (60), compañía varchar (100).

Muestra: ID de editor 1, nombre NIKOLAJ, apellido JEPSEN, empresa APECHO ID 6, nombre ROBERT, apellido SCOTT, empresa FLAPJACK LTD

ID de seguimiento 1, cid 1, uid 1; id 2, cid 1, uid 6; id 3, cid 3, uid 1

Respuestas a la pregunta(2)

Su respuesta a la pregunta