查找找到数据的列

时间:2018-01-31 07:28:10

标签: php mysql sql

我有像这样的SQL查询

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

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

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

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

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