Как задать условие в mysql запросе?
Может что-то такое подойдетselect t.*, if(l.light_name is not null, l.light_name, h.hard_name) as type_name from `table` t 
left outer join light l on l.light_id = t.c_id
left outer join hard h on h.hard_id = t.c_id
where
if(t.type = 1, l.light_id = t.c_id, l.light_id < 0)
or
if(t.type = 2, h.hard_id = t.c_id, h.hard_id < 0)
Гугл по словам "mysql if join" сразу же выдал ответ и альтернативу.