2014-11-08 36 views
0

我有一个MySQL表,其中有多个值出现在某些行中。在下面的例子中,这些值由竖线分隔(|)。在一个字段中有多个值的MySQL表

+---------+------+ 
| cui  | type | 
+---------+------+ 
| 100  | A | 
| 101|102 | A | 
| 103  | B | 
| 104|103 | C | 
+---------+------+ 

我不知道如何检索只有第一个值,如果存在多个值。例如,上述表格应返回为

+---------+------+ 
| cui  | type | 
+---------+------+ 
| 100  | A | 
| 101  | A | 
| 103  | B | 
| 104  | C | 
+---------+------+ 

任何建议都非常受欢迎。

回答

1

您可以使用该功能substring_index()

mysql> select substring_index('101|102','|',1); 
+----------------------------------+ 
| substring_index('101|102','|',1) | 
+----------------------------------+ 
| 101        | 
+----------------------------------+ 

所以查询变得

select substring_index(cui,'|',1) as cui, 
type 
from table_name 
相关问题