В MySQL вы можете сделать:
select d.*,
field(d.serial, s.space1, s.space2, s.space3) as which
from device d join
space s
on d.serial in (s.space1, s.space2, s.space3);
Возвращает столбец как «число» - я подозреваю, это то, что вы хотите.
Если вы хотите произвольную строку,Вы можете использовать elt()
:
select d.*,
elt(field(d.serial, s.space1, s.space2, s.space3), 'SPACE1', 'SPACE2', 'SPACE3') as which
from device d join
space s
on d.serial in (s.space1, s.space2, s.space3);