我有一个包含tinyint和enum列的表。
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'
答案 0 :(得分: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