| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: vertical serches on a table - how to
insert into test_vertical values (1 ,'apple', 'orange'); insert into test_vertical values (1 ,'mango', 'banana'); insert into test_vertical values (1 ,'grape', 'pineapple'); insert into test_vertical values (2 ,'mango', 'banana'); insert into test_vertical values (2 ,'guava', 'lemon'); ------------------------------------------------------------
select m_id,
case when col1 = 'banana'
then 1 -- test 1 in rule 1
when col1 = 'mango' and col2 = 'banana'
then 1 -- test 1 in rule 2
when col1 = 'grape' and col2 = 'pineapple'
then 2 -- test 2 in rule 2
else null
end as test_num,
case when col1 = 'banana'
then 1 -- rule 1
when col1 = 'mango' and col2 = 'banana'
then 2 -- rule 2
when col1 = 'grape' and col2 = 'pineapple'
then 2 -- rule 2
else null
end as rule_num
from test_vertical;
--------------------------------------------------------------
case when col1 = 'banana'
then 1 -- test 1 in rule 1
when col1 = 'mango' and col2 = 'banana'
then 1 -- test 1 in rule 2
when col1 = 'grape' and col2 = 'pineapple'
then 2 -- test 2 in rule 2
else null
end as test_num,
case when col1 = 'banana'
then 1 -- rule 1
when col1 = 'mango' and col2 = 'banana'
then 2 -- rule 2
when col1 = 'grape' and col2 = 'pineapple'
then 2 -- rule 2
else null
end as rule_num
from test_vertical)
Regards,
Waleed
-----Original Message-----
Sent: Wednesday, October 01, 2003 9:29 AM
To: Multiple recipients of list ORACLE-L
Hi,
I have a table that I would like to perform a vertical search on. For eg.
Table X
ID COL1 COL2 1 apple orange 1 mango banana 1 grape pineapple 2 mango banana 2 guava lemon
I would like to display records that meet the following criteria for *a particular ID*.
(COL1=banana)
OR
(COL1=mango and COL2=banana
AND
COL1=grape and COL2=pineapple
The output should be
ID COL1 COL2
1 mango banana
1 grape pineapple
It should not display
ID COL1 COL2
2 mango banana
since ID=2 did not meet the criteria where COL1=grape and COL2=pineapple.
I tried the following SQL but the output is always zero because COL1 can never be a mango and a grape and COL2 can never be a banana and a pineapple at the same time for a particular ID.
select ID, col1, col2
from tableX
where (col1='banana')
or ((col1='mango' and col2='banana')
and
(col1='grape' and col2='pineapple')
);
Any idea how I can do a vertical search on the table.
Thanks for any help you can provide.
susan
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Susan Tay
INET: susantay2_at_hotmail.com
Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services ---------------------------------------------------------------------To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Khedr, Waleed
INET: Waleed.Khedr_at_FMR.COM
Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services ---------------------------------------------------------------------To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Wed Oct 01 2003 - 17:34:33 CDT
![]() |
![]() |