>>>>>>>>
>>>>>>>>select * from myTable where nNumber IN (Fld1, Fld2, Fld3).
>>>>>>>>
>>>>>>>>
>>>>>>>>They will behave the same as your original code, just a shorter code.
>>>>>>>>
>>>>>>>>There is no faster approach for this problem.
>>>>>>>
>>>>>>>Thank you.
>>>>>>
>>>>>>You're welcome.
>>>>>
>>>>>Is it optimizable?
>>>>
>>>>It is exactly the same as original Fld1 = @nNumber or Fld2 = @nNumber or ...
>>>>
>>>>So, it is optimizable if we have indexes on each of these columns.
>>>
>>>Not exacyly.
>>>Can't test it in SQL Server right now but in VFP:
>>>
>>>CREATE CURSOR crsTest (Fld1 I, Fld2 I)
>>>FOR lnFor = 1 TO 20
>>> INSERT INTO crsTest VALUES(lnFor,20-lnfor)
>>>NEXT
>>>INDEX ON Fld1 TAG Fld1
>>>INDEX ON Fld2 TAG Fld2
>>>lnNumber = 12
>>>
>>>SYS(3054,12,[tst])
>>>SELECT * FROM crsTest WHERE m.lnNumber IN(Fld1, Fld2)
>>>MESSAGEBOX(tst)
>>>
>>>SELECT * FROM crsTest WHERE Fld1 = m.lnNumber OR Fld2 = m.lnNumber
>>>
>>>MESSAGEBOX(tst)
>>>SYS(3054,0)
>>>
>>
>>Borislav,
>>When I ran your sample code it shows that using WHERE In (Fld1, Fld2) is not optimized but the WHERE Fld1 OR Fld2 is optimized. Is this what you wanted to show?
>
>Yes.
Thank you.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham