2009-06-30 49 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%'