Solved

Using LIKE and OR to look for more then one pattern in a field

Posted on 2009-04-03
2
208 Views
Last Modified: 2013-11-28
Hi all this is probably pretty simple but I dont work in SQL but 4gl

I have a sql statement that uses like to find entries that contain the term 'out' for a particular date range.

What I want to do is specify that I want to look for entries that contain the word 'out' OR 'in' OR 'pto'.

Looking at the code example below how would I change this with the following select statement.
Original working query:

 

query = "SELECT * FROM cal_events E INNER JOIN cal_dates D" _

	& " ON (E.event_id = D.event_id) " _

	& " WHERE (event_title LIKE '%out%') AND (event_date BETWEEN #" & Date & "# AND #" & Date & "#) AND (user_id = " _

	& Session(dataName & "User") & " OR " _

	& "private = 0) ORDER BY event_date"

 

 

I tried changing to:

 

query = "SELECT * FROM cal_events E INNER JOIN cal_dates D" _

	& " ON (E.event_id = D.event_id) " _

	& " WHERE (event_title LIKE '%out%') OR " _

	& "(event_title LIKE '%in%') & OR " _

	& "(event_title LIKE '%pto%') & AND " _ 

	& "(event_date BETWEEN #" & Date & "# AND #" & Date & "#) AND (user_id = " _

	& Session(dataName & "User") & " OR " _

	& "private = 0) ORDER BY event_date"

	

OR can I use a wild card to simplify something like:

 

query = "SELECT * FROM cal_events E INNER JOIN cal_dates D" _

	& " ON (E.event_id = D.event_id) " _

	& " WHERE (event_title LIKE '[out,in,pto]%') AND (event_date BETWEEN #" & Date & "# AND #" & Date & "#) AND (user_id = " _

	& Session(dataName & "User") & " OR " _

	& "private = 0) ORDER BY event_date"

Open in new window

0
Comment
Question by:binovpd
2 Comments
 
LVL 17

Accepted Solution

by:
k_murli_krishna earned 50 total points
ID: 24063034
The first one you changed to is correct. Once cannot use as OR operator in a group for LIKE operator the way you do for IN operator. Since your words are part of bigger words/phrases/sentences you need to use LIKE and each LIKE separated by OR.
0
 

Author Closing Comment

by:binovpd
ID: 31566378
Thanks k_murli_krishna I got it to work.
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Join & Write a Comment

If you find yourself in this situation “I have used SELECT DISTINCT but I’m getting duplicates” then I'm sorry to say you are using the wrong SQL technique as it only does one thing which is: produces whole rows that are unique. If the results you a…
PL/SQL can be a very powerful tool for working directly with database tables. Being able to loop will allow you to perform more complex operations, but can be a little tricky to write correctly. This article will provide examples of basic loops alon…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now