Parece que estás seleccionando de la misma mesa dos veces. Cada una de estas ocurrencias necesita su propio alias:
SELECT
l.url
FROM
b as b1 /* <-- */
INNER JOIN links as l
ON b1.parent_id = l.id
INNER JOIN b as b2 /* <-- */
ON l.id = b2.link
WHERE l.url LIKE 'http://domain%' LIMIT 0, 30
Tenga en cuenta que también agregué el alias faltante l
para los links
mesa.