I am having difficulty in querying in a certain way. This is what I
would like to do..

select MC_NUMBER
from TEST

when PART_A_OR_PART_B = 'A'
then TRANSACTION_CODE not in (11, 17, 20, 41)
and MBS_CODE in (44,46,51)

when PART_A_OR_PART_B = 'B'
then TRANSACTION_CODE in (11, 41)
and MBS_CODE in (15,20)

Any help will be appreciated. Thanks.


I have as follows:

CREATE TABLE MYUSER.TEST
(
  MC_NUMBER  VARCHAR2(4 BYTE),
  PART_A_OR_PART_B       CHAR(1 BYTE),
  TRANSACTION_CODE       NUMBER(3),
  MBS_CODE               NUMBER(2)
);


INSERT INTO MYUSER.TEST(MC_NUMBER,
PART_A_OR_PART_B,TRANSACTION_CODE,MBS_CODE)
VALUES('2121','A',11,51);

INSERT INTO MYUSER.TEST(MC_NUMBER,
PART_A_OR_PART_B,TRANSACTION_CODE,MBS_CODE)
VALUES('2222','A',17,46);

INSERT INTO MYUSER.TEST(MC_NUMBER,
PART_A_OR_PART_B,TRANSACTION_CODE,MBS_CODE)
VALUES('4646','A',23,44);

INSERT INTO MYUSER.TEST(MC_NUMBER,
PART_A_OR_PART_B,TRANSACTION_CODE,MBS_CODE)
VALUES('4444','A',20,53);

INSERT INTO MYUSER.TEST(MC_NUMBER,
PART_A_OR_PART_B,TRANSACTION_CODE,MBS_CODE)
VALUES('6666','B',11,20);

INSERT INTO MYUSER.TEST(MC_NUMBER,
PART_A_OR_PART_B,TRANSACTION_CODE,MBS_CODE)
VALUES('3232','B',41,15);

INSERT INTO MYUSER.TEST(MC_NUMBER,
PART_A_OR_PART_B,TRANSACTION_CODE,MBS_CODE)
VALUES('8888','B',41,46);

INSERT INTO MYUSER.TEST(MC_NUMBER,
PART_A_OR_PART_B,TRANSACTION_CODE,MBS_CODE)
VALUES('9999','B',43,20);

COMMIT;

-- 
You received this message because you are subscribed to the Google
Groups "Oracle PL/SQL" group.
To post to this group, send email to Oracle-PLSQL@googlegroups.com
To unsubscribe from this group, send email to
oracle-plsql-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/Oracle-PLSQL?hl=en

Reply via email to