List:General Discussion« Previous MessageNext Message »
From:Mr. Shawn H. Corey Date:July 23 2008 2:22pm
Subject:Re: WHERE .... IN
View as plain text  
On Wed, 2008-07-23 at 17:05 +0300, Ali Deniz EREN wrote:
> Hi all,
> 
> I have a problem as below:
> 
> A text field -Lets call it 'field1'- contains datas seperated by
> commas(,) like this (123,5764,8795,9364,11,232,..... and go on) And so
> my lines like these:
> 
> id      title      filed1
> -------------------------------------------------------------
> 1      title1      123,576412
> 2      title2      123
> 3      title3      576412,8795,123
> 4      title4      123
> 5      title5      576412,1164,12,232
> ..      ...          ...
> ..      ...          ...
> 
> I am looking for lines which includes the matched value within the
> field1 seperated case. For example:
> 
> "SELECT id, title, field1 FROM mesaj WHERE 123  IN (field1)"
> 
> result is.
> 1      title1      123,576412
> 2      title2      123
> 4      title4      123
> 
> But I want it to match with third one.
> 3      title3      576412,8795,123
> 
> Because it have a 123 at the end. But It does not! :(
> 
> Is there another way to do this. LIKE doesn't work because
> 
> "SELECT id, title, field1 FROM mesaj WHERE field1 LIKE 12" returns
> many result which is not my intention.
> 
> Thank you.
> 
> 
> -- 
> Ali Deniz EREN
> ali.deniz.eren@stripped
> 

How about:  WHERE ( field1 LIKE '123,%' OR field1 LIKE '*,123,%' OR
field1 LIKE '%,123' OR field1 = '123' )

Note that this could that a long time on large tables.  You'd be better
off to normalize your tables ;)


-- 
Just my 0.00000002 million dollars worth,
  Shawn

"Where there's duct tape, there's hope."

Thread
WHERE .... INAli Deniz EREN23 Jul
  • Re: WHERE .... INPeter Brawley23 Jul
  • Re: WHERE .... INMr. Shawn H. Corey23 Jul
    • Re: WHERE .... INSivasakthi24 Jul
      • Re: WHERE .... INMr. Shawn H. Corey24 Jul
  • Re: WHERE .... INJohan Gant24 Jul