Given the query:
SELECT DISTINCT score.* FROM score LEFT OUTER JOIN tag ON (tag.id_score = score.id) INNER JOIN score AS score_1 USING (id) WHERE (score.song_name LIKE '%[Upload]%' OR score.artist_name LIKE '%[Upload]%' OR score.creator_name LIKE '%[Upload]%' OR tag.name LIKE '%[Upload]%') AND (score_1.song_name LIKE '%[Check OK]%' OR score_1.artist_name LIKE '%[Check OK]%' OR score_1.creator_name LIKE '%[Check OK]%' OR tag.name LIKE '%[Check OK]%')
I get Column 'id' in from clause is ambiguous
in MySQL 5.1.37. Usually people fix this by adding an explicit table in front of their ambiguous columns, but here I've already did so: (tag.id_score = score.id)
. Leaving the LEFT OUTER JOIN tag
fixes the problem, but doesn't allow searching inside tags table.
Is this a bug in MySQL or I've missed something?