Se me ocurre:select * from tabla_valoreswhere camp1 in(select val1 from tabla_ datos) orcamp1 in(select val2 from tabla_ datos) or ......Pero me gusta mas la forma en que lo hiciste con union
Guillermo Villanueva