检查多列mySql的多个列

问题描述 投票:-1回答:1

我有表格的列说:

col1, col2, col3

我想找出列中是否有22或33或3的值。对于单值假设22,我本可以做到:

SELECT * from table_name
WHERE 22 IN (col1, col2, col3)

如何在col1, col2, col3列中找到22,33。

任何帮助都非常值得赞赏。谢谢!

mysql sql
1个回答
1
投票
SELECT * from table_name
WHERE col1 IN (1,2,3) or
      col2 IN (1,2,3) or
      col3 IN (1,2,3)

也许也是这样

with search as
(
  select 1 v
  union all
  select 2 v
  union all
  select 3 v
)
select distinct t.* 
from table_name t
join search s on t.col1 = s.v or t.col2 = s.v or t.col3 = s.v

dbfiddle demo

© www.soinside.com 2019 - 2024. All rights reserved.