I have a problem with this query:
SELECT * FROM code INNER JOIN relations ON tags.id = relations.tag INNER JOIN code ON relations.code = code.id WHERE tags.name LIKE '%value%' ORDER BY code.id ASC
I get this error:
1066 – Not unique table/alias: ‘code’
Advertisement
Answer
The error seems pretty clear. You have mentioned code three times in the from clause. What does code refer to?
In your case, I think the solution is to remove all the references. The first should be the tags table — I think. The last doesn’t seem useful. So:
SELECT *
FROM tags t JOIN
relations r
ON t.id = r.tag JOIN
code cr
ON r.code = cr.id
WHERE t.name LIKE '%value%'
ORDER BY t.id ASC;
Note that I introduced table aliases. If you do need a second reference to code, you can just give it a new alias.