我在MySQL数据库中有一个表。我被赋予一个值作为该表中的单元格值出现,但我不知道它是哪个单元格,即该单元格的行和列。查找该值所属的列的最有效方法是什么?提前谢谢。
示例:
Column_1 | Column_2 | Column_3
1 | 2 | 3
4 | 5 | 6
7 | 8 | 9
现在我的输入值为“8”。我想知道是否有一种有效的方法可以找出“8”的值属于Column_2。
答案 0 :(得分:2)
有些奇怪的是,您不知道数据所在的列,因为列意味着具有明确定义的函数。
[原始回复清理。]
编辑:您的更新帖子只是要求列。在这种情况下,您不需要视图,只能运行此查询
SELECT col FROM (
SELECT "Column_1" AS col, Column_1 AS value FROM YourTable
UNION ALL SELECT "Column_2", Column_2 FROM YourTable
UNION ALL SELECT "Column_3", Column_3 FROM YourTable
) allValues
WHERE value=8;
当您对表运行此查询时,它将返回“Column_2”
答案 1 :(得分:0)
在不了解您的应用的更多信息的情况下,您有以下几种选择:
答案 2 :(得分:0)
您使用重复群组设计此表格,但这不满足First Normal Form。
您应该创建第二个表,并将column1,column2和column2的值存储在一行中的三行中。
了解更多详细信息database normalization的规则。