2009-06-30 44 views
0

数据:如何从组合数据的列中获取结果?

id bb 
1 14,35 
2 5,11,12,125,36 
3 3,23,45,15,1 
4 651 
5 5,1,6 
6 1,7 

例如,我wan't得到的id,其与值 '1'。所以id(3,5,6)应该返回,但不是'14'或'11'的其他人。

DB:Mysql

+3

呃!你的数据库设计**错误**。请告诉我这个查询的目的是解决它? – 2009-06-30 03:25:01

回答

1
select * from test where find_in_set('1',bbb) 

select * from test where bbb REGEXP '(^|,)1(,|$)' 
0

我错过了什么吗?

SELECT * 
FROM MyTable 
WHERE (id = 3) or (id = 5) or (id = 6) 
2

这不是最有效的解决方案,但它可能给你想要的东西从桌子上:

select id from MyTable where bb like '%,1,%' union 

select id from MyTable where bb like '1,%' union 

select id from MyTable where bb like '%,1' union 

select id from MyTable where bb like '1' 

欢呼

-1

你可以这样做 sel ect * from mytable where id like '14%'or '11%'