Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Anti-Query

0 views
Skip to first unread message

Aaron

unread,
Jan 17, 2004, 2:25:23 AM1/17/04
to
I'm writing a program that has an auto spelling correction feature. it is
kind of like google and ebay's spelling suggestion features (did you mean?:
correctly spelled word)


I need to write a sql query that does partial match, which is the exact
opposite as how you would do a wild card search.

Wildcard search example
---
Select id from table1 where message like 'i%like%food%'
--
it would yield results like these
"i like mexican food"
"i don't like this food"
"i like food in general"

>>>>>>>>>>>>>>>>>>>>>>>>
WHAT I NEED TO DO
I need to do the exact opposite of the example above
this is what i have in the database.
ID(autonumber) keywords(varchar)
---------------- --------------------
1 i%like%food%
2 i%like%sports%
3 i%like%computers%
and so on


What I would like to do is to input these sentences and get an output of the
wild card.
---pseudo code---
select id from table1 where keywords like 'i like food in general'
---
results:
'i%like%food%'


i hope this makes sense

Thanks in advance,

Aaron


William Ryan

unread,
Jan 17, 2004, 3:05:50 AM1/17/04
to
If I understand you correct... SELECT id From table1 WHERE Message
LIKE(MessageColumn, ' ' , '%')

However, I'm not sure what this would accomplish so I am probably not
understanding the goal. If your actual query was select id from table1


where keywords like 'i like food in general'

You want it returned with % instead of spaces?
"Aaron" <kuy...@yahoo.com> wrote in message
news:%23VYWRsM...@tk2msftngp13.phx.gbl...

Aaron

unread,
Jan 17, 2004, 3:37:33 AM1/17/04
to
No that was not the query, it was only a example, everything after the WHERE
clause is fake.

say the user type in 'i like food in general'. the search engine would look
for this string a the keyword column.

the keyword column has records like

'a%apple%'
'a%airpline%'
'i%like%food%'

it would return 'i%like%food%' as result.

Thanks


"William Ryan" <dotne...@nospam.comcast.net> wrote in message
news:OTAa1CN3...@TK2MSFTNGP12.phx.gbl...

Garrett

unread,
Jan 20, 2004, 12:31:54 AM1/20/04
to
Try the following.

The table:

select * from matchpats

tabid keywords
----------- ------------------------------
1 a%apple%
2 a%airplane%
3 i%like%food%

(3 row(s) affected)

===================================
The code:

declare @message as char(50)

set @message = 'i like food in general'

select *
from matchpats
where @message like rtrim(keywords)
====================================
results:

tabid keywords
----------- ------------------------------
3 i%like%food%

(1 row(s) affected)
=====================================
Is this the sort of thing you wanted?

There may be issues with trailing blanks.
I ran the code in the Query Analyzer.


"Aaron" <kuy...@yahoo.com> wrote in message

news:#aLckUN3...@TK2MSFTNGP12.phx.gbl...

0 new messages