Sembra che tu stia selezionando dalla stessa tabella due volte. Ognuna di queste occorrenze ha bisogno del proprio 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
Tieni presente che ho anche aggiunto l'alias mancante l
per i links
tabella.