Re: SQL Question... Boolean Logic

From: <James>
Date: 1995/04/24
Message-ID: <1995Apr24.120235.6502_at_newton.ccs.tuns.ca>#1/1


In article <ggrieffD7BDn4.84x_at_netcom.com> ggrieff_at_netcom.com (Greg Grieff) writes:
>
>I have the following table:
>
>create table keywords (
> recid number(9) not null, /* primary key */
> docid number(9) not null, /* foreign key to another table */
> keyword varchar2(30) not null, /* keyword entry */
>)
>
>Sample data:
> recid docid keyword
>--------------------------------------------
> 1 1 apples
> 2 1 oranges
> 3 2 apples
> 4 2 pears
> 5 2 watermelon
>
>I want to return the unique values for docid that match boolean logic
>combinations of keyword values. For example, if I ask for all vaules for
>docid that have keywords, apples and oranges, I get the answer 1. I
>would like standard order of operations to apply to the values that I
>search for in keywords. And, (this is the difficult part) I would like a
>single SQL (non-PL/SQL) statement that does this.
>

 /* Edited */
>
>Any help you can give me on this would be greatly appreciated, or if
>perhaps you know it is not possible to do this let me know that too.
>
>- Thanks in advance
>- Greg
>
>-------------------------------------------------------------------------
>| Greg Grieff ggrieff_at_netcom.com | "Dream, Design, Develop, Debug, |
>| Head of Engineering | Deliver... Not necessarily in |
>| Micrographic Specialties Inc. | that order." |
>-------------------------------------------------------------------------

How about...

SELECT DISTINCT DOCID FROM KEYWORDS
WHERE KEYWORD IN ('apples', 'oranges');

What you will really want to do /* to automate */ is create an *.SQL which will create another *.SQL, and run the second *.SQL file.

James Richard (JRICHARD_at_TUNS.CA)
"No Assembler Required!" Received on Mon Apr 24 1995 - 00:00:00 CEST

Original text of this message