假设我有一张如下表格,
+----+-------------+
| 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中完成所有这些工作。我怎么能这样做,有没有更好的方法呢?
答案 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,')