查找找到数据的列

问题描述 投票:3回答:2

我有这样的SQL查询

SELECT * FROM table WHERE :value IN(col1, col2, col3)

在表中的三列中找到我的php变量的值。我怎样才能知道从col1,col2和col3找到值的位置?或者有没有其他方法可以得到相同的结果?

php mysql sql
2个回答
9
投票

添加CASE声明:

SELECT *,
     CASE WHEN col1 = :value THEN 'COL1'
          WHEN col2 = :value THEN 'COL2'
          ELSE 'COL3'
     END AS EXIST_IN
FROM table 
WHERE :value IN (col1, col2, col3)

0
投票

在执行查询后返回行时,它还会返回列名。包含搜索值的列将具有值,其他列将显示NULL。

因此,要检查它,您可以使用服务器端编程来检查返回行中的列名,或者在SQL中使用if-else或case。

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