0

我有一个包含 tinyint 和 enum 列的表。

枚举列 (thing_status_texts) 保存 tinyint(thing_status) 中值的文本表示形式。

我想做类似下面的伪代码:

SELECT
   thing_id,
   thing_status,
   thing_status_texts[thing_status] AS thing_status_text

因此,如果 thing_status_texts 具有 Empty、Full、Removed 和 thing_status = 1,则 thing_status_text 将为“Full”

4

1 回答 1

0

根据您的评论,您希望使用单独的表格来存储您的状态。像这样的东西:

 status_table                 
+-----------------------------+
|id           |status         |
+-------------+---------------+
|1            |Empty          |
+-------------+---------------+
|2            |Full           |
+-------------+---------------+
|3            |Removed        |
+-------------+---------------+

然后在你的另一个表中thing_status应该对应id于你的新表中的列。当您选择它时,您使用JOIN

SELECT status FROM your_main_table JOIN status_table ON thing_status=id
于 2013-06-20T13:59:31.033 回答