MySQL从concat值创建视图

时间:2012-03-20 11:10:06

标签: mysql

假设我有一张如下表格,

+----+-------------+
| id | value       |
+----+-------------+
| 1  | aa,bb,cc,dd |
| 2  | ee,ff,gg,hh |
+----+-------------+

我希望能够搜索此表以查看是否id = 1 AND value = 'cc'。 我假设一个好方法是抓住id = 1行并将其值拆分为新视图中的单独行。像,

+-----+
| val |
+-----+
| aa  |
| bb  |
| cc  |
| dd  |
+-----+

我想在MySQL中完成所有这些工作。我怎么能这样做,有没有更好的方法呢?

2 个答案:

答案 0 :(得分:1)

本文可能会帮助您解决问题:

Mysql split column string into rows

而不是:

DECLARE cur1 CURSOR FOR 
          SELECT table1.id, table1.value
          FROM table1
          WHERE table1.value != '';

尝试以满足您的需求,

DECLARE cur1 CURSOR FOR 
          SELECT id, value
          FROM table1
          WHERE id = 1;

答案 1 :(得分:0)

这不是很好的方法,但你可以像这样进行字符串搜索

...WHERE id = 1 and 
(value like ',cc,' OR 
 substring(value, -1*LENGTH('cc')-1) = ',cc' OR 
 substring(value, 0, LENGTH('cc')+1) = 'cc,')