mysql資料庫中定義一個表,有5列分別是id,n_index,n_1,n_2,n_3,如圖片中所示。

查詢條件是,用戶給定一個人名。
比如用戶給定一個值是“張三”,先根據n_index找到x值對應的列n_x,然后看n_x的值是不是“張三”,如果是“張三”則取出這行記錄資料。圖中符合條件“張三”的記錄id有[2, 7, 10]。
如果用戶給定值是“王五”,符合條件“王五”的記錄id有[1]。
如果用戶給定值是“劉七”,符合條件“劉七”的記錄id有[3, 4, 6, 8]。
uj5u.com熱心網友回復:
王五真的只有一個嗎,規律是什么啊。uj5u.com熱心網友回復:
王五只有一個id是1uj5u.com熱心網友回復:
id是9的那行,也有王五啊。uj5u.com熱心網友回復:
select * from table where (case n_index when 1 then n_1 when 2 then n_2 when 3 then n_3 end) = '劉七'
##或者
select * from table where if(n_index=1,n_1,if(n_index=2,n_2,n_3)) = '劉七'
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/69890.html
標籤:MySQL
