Field names that end in a number larger than 2 are always wrong.
/2If they came from separate columns in the input and have to end up in separate rows in the output then you're going to do multiple passes on the table to get the 3 sets of values. So no, there's nothing that's fundamentally better than the way you're doing it.You can fiddle around with unioning them first and then doing the JOIN and WHERE, but it's only syntax, so there's no guarantee it will make the query plan any different let alone better.SELECT Name, alt, description FROM ( SELECT fieldID, name, alt_1 AS alt FROM table_1 UNION SELECT fieldID, name, alt_2 FROM table_1 UNION SELECT fieldID, name, alt_3 FROM table_1) t1LEFT OUTER JOIN table_2 t2 ON t1.alt = t2.altWHERE t1.fieldID = "WhatEver"