簡體   English   中英

查找找到數據的列

[英]Finding the column where the data is found

我有這樣的SQL查詢

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

在表中的三列中找到我的php變量的值。 我怎樣才能知道從col1,col2和col3找到值的位置? 或者有沒有其他方法可以得到相同的結果?

添加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)

在執行查詢后返回行時,它還會返回列名。 包含搜索值的列將具有值,其他列將顯示NULL。

因此,要檢查它,您可以使用服務器端編程來檢查返回行中的列名,或者在SQL中使用if-else或case。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM