我有以下表結構(表名是問題)需要一個SQL查詢來列值映射到列名
c1 c2 c3 Selection
X Y Z 2
A B C 3
這裏C1,C2,C3和選擇是列名。我想根據列選擇的值檢索c1或c2或c3的值。例如,如果選擇值是2,那麼我需要c2列的相應值,即Y. 如果選擇值是3,那麼它應該在這裏選擇c3列的值,即C。
請幫我在這裏選擇Sql查詢。我嘗試過自己,但無法找到正確的解決方案。
在此先感謝
我有以下表結構(表名是問題)需要一個SQL查詢來列值映射到列名
c1 c2 c3 Selection
X Y Z 2
A B C 3
這裏C1,C2,C3和選擇是列名。我想根據列選擇的值檢索c1或c2或c3的值。例如,如果選擇值是2,那麼我需要c2列的相應值,即Y. 如果選擇值是3,那麼它應該在這裏選擇c3列的值,即C。
請幫我在這裏選擇Sql查詢。我嘗試過自己,但無法找到正確的解決方案。
在此先感謝
SELECT CASE Selection
WHEN 1 THEN c1
WHEN 2 THEN c2
ELSE c3
END val
FROM tableName
這是非常簡單的只是運行一個簡單的查詢,它將返回所有列,那麼你應該使用相應的列。
SELECT * FROM mytable WHERE selection = 'yourvalue'
http://dev.mysql.com/doc /refman/5.5/en/control-flow-functions.html#operator_case – Joddy
請參閱[變量中的mysql字段名稱](http://stackoverflow.com/questions/4428761/mys ql-field-name-from-variable) –