2012-10-04 53 views
1

表:用戶MySql的選擇結腸

| user_Id | my_threads   |    
| 100  | 200:1, 201:2, 217:4 | 
| 101  | 200:1, 215:3, 217:4 | 

表:螺紋

| thread_id | author_id | title      | 
| 217  | 100  | This is title thread  | 
| 200  | 101  | this is only test   | 

當用戶登錄成功{$用戶id = USER_ID,即用戶線程的節目標題?

select title 
from thread 
where FIND_IN_SET(thread.thread_id,(select my_threads from user where user_id=100)); 

這個SQL上述作品時my_threads沒有冒號這樣的200,217

+1

我不明白。什麼是問題? – GolezTrol

回答

1

試試這個:

取代你的結腸逗號

select title 
from thread 
where FIND_IN_SET(thread.thread_id, 
     (select replace(replace(my_threads,':',','),' ','') from user where user_id=100)) 


SQL fiddle demo

+0

這個SQL給我2(200:1)標題給我(200 + 1)我只需要線程(200)。 – user1710911

+0

@ user1710911:請參閱答案 –

+0

中更新的SQL小提琴感謝您的幫助。但正如你可以看到user_id 100有2個標題200 + 217 sql小提琴只給我1 – user1710911