带有多列的IN子句

Udi*_*dan 3 mysql sql

有没有办法使用只有一个查询使用IN子句与多列实现以下联合查询?

而不是使用

select * 
from table_a 
where field_a in (select field_1 from table_b) 
union
select * 
from table_a 
where field_a in (select field_2 from table_b);
Run Code Online (Sandbox Code Playgroud)

我想创建一些如下所示的内容:

select * 
from table_a 
where field_a in (select field_1,field_2 from table_b) ;
Run Code Online (Sandbox Code Playgroud)

Pat*_*man 5

你可以得到的最多是将联合放在子查询中:

select * 
from table_a 
where field_a in (select field_1 from table_b union select field_2 from table_b)
Run Code Online (Sandbox Code Playgroud)

要么:

select * 
from table_a 
where field_a in (select field_1 from table_b)
or field_a in ( select field_2 from table_b)
Run Code Online (Sandbox Code Playgroud)