[英]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.