Viktor wrote:
> 
> Hello All,
> 
> It looks as if I've hit a brick wall and I'd very much
> appreciate if you can help.
> 
> desc Names
> 
> FIRST_INIT      NOT NULL CHAR(4)
> SECOND_INIT     NOT NULL CHAR(1)
> INIT_SEQUENCE   NOT NULL NUMBER
> LAST_NAME                VARCHAR2(30)
> FIRST_NAME               VARCHAR2(20)
> FLAG            NOT NULL NUMBER
> 
> desc MEMBER
> 
> MEM_FIRST_INIT           CHAR(4)
> MEM_SECOND_INIT          CHAR(1)
> MEM_INIT_SEQUENCE        NUMBER
> 
> Member table references Names table on FIRST_INIT,
> SECOND_INIT, INIT_SEQUENCE (FOREIGN KEYS).
> 
> Names table has NOT NULL column flag. It can only be 0
> or 1 -- means Name is a member.
> 
> But, not all NAME records with FLAG 1 are in MEMBER.
> In other words, records in MEMBER usually represent
> other some other types of memership.
> 
> But, in this case, I need to get those NAME(parent)
> records that have FLAG = 1, and those MEMBER(child)
> records that reference NAMES via foreign keys.
> Sometimes NAME record with FLAG = 1, also has a MEMBER
> record, and it could be that record with FLAG = 1 does
> not have a record in MEMBER.
> 
> I need all those with FLAG = 1 in NAMES + all records
> that are in MEMBER.
> 
> Is there another way besides the UNION:
> 
> SELECT a.first_init||a.second_init||a.init_sequence
> INITIALS,
>        a.last_name LAST_NAME,
>        a.first_name FIRST_NAME,
>        a.flag MEMBER_FLAG,
> FROM names a
> WHERE a.advisor_flag = 1
> UNION
> SELECT a.first_init||a.second_init||a.init_sequence
> INITIALS,
>        a.last_name LAST_NAME,
>        a.first_name FIRST_NAME,
>        a.flag MEMBER_FLAG
> FROM names a,
>      members m
> WHERE a.first_init = m.mem_first_init
>  and a.second_init = m.mem_second_init
>  and a.init_sequence = m.mem_init_sequence
> 
> Thanks a lot in advance!!!!!
> 
> Regards,
> 
> Viktor
> 

The UNION is perfect. You could possibly do something with external
joins and an 'OR', but it would not be more legible.

-- 
Regards,

Stephane Faroult
Oriole Software
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Stephane Faroult
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).

Reply via email to