比较和获取存储在逗号分隔中的唯一数据

时间:2012-05-04 09:14:06

标签: mysql

我有一个mysql数据库,其中存储了error_code和error_type。

每个Error_type都可以将多个error_code存储为逗号分隔。

这是一张表

id error_code error_type

1 300,200,444拼写

2 333,310 grammer

如图所示;拼写有3个error_code

问题:如果error_code只有300或200或444(在文本框中只输入1个错误代码),如何查询获取error_type

如果需要任何信息或者不清楚,请告诉我.tnx

编辑:

我需要一个明确的error_type

2 个答案:

答案 0 :(得分:2)

您可以使用regexp:

select * from test
where error_code REGEXP '(^444,|,444$|,444,|^444$)'

这将确保444存在于开头,结尾或两个逗号之间;它将匹配444在另一个数字内的字符串。例如,1,2,34445,6将不匹配。

答案 1 :(得分:0)

您可以使用like

select error_type from table where error_code like '%300%'

select error_type from table where error_code like '%444%'