I don't know the answer but can suggest some resources:
www.sqlmag.com 
www.sqlpass.org/forums 
www.sqlservercentral.com/forum 

Just to be sure, I went to each of these this morning to make sure they
are still live.


>>> [EMAIL PROTECTED] 06/25/03 02:49AM >>>
Sorry for the SQL Server post, working on SQL Server for the first
time, and
this list is my only resource as of now. I'm reading the SQL Server
join
syntax and trying it myself. Meanwhile, If i can get some expert help,
it
will be more than useful

I'm simplifying the problem with the help of these test tables.

CREATE TABLE t1(A VARCHAR(10), A1 VARCHAR(10), A2 VARCHAR(10));
CREATE TABLE t2(B VARCHAR(10), B1 VARCHAR(10));
CREATE TABLE t3(C VARCHAR(10), C1 VARCHAR(10));
CREATE TABLE t4(D VARCHAR(10), D1 VARCHAR(10));

INSERT INTO t1 VALUES ('A', 'AA', 'AAAA');
INSERT INTO t1 VALUES (null, 'AAAA', 'AAAA');

INSERT INTO t2 VALUES ('A', 'BB');

INSERT INTO t3 VALUES ('A', 'CC');

INSERT INTO t4 VALUES ('A', 'DD');

Table t1 refers to t2(through a) and t4(through a2) directly and t2
refers to
t3(through b). 

I want to join t1 to t2, t3, t4 and retrieve all the rows inside t1
irrespective of whether the value is there in the other tables or
not(outer-join of course)

I wrote this query in Oracle and it works

SQL> SELECT     a1, b1, c1, d1
  2  FROM       t1, t2, t3, t4
  3  WHERE      t1.a = t2.b(+)
  4  AND        t2.b = t3.c(+)
  5  AND        t1.a2 = t4.d
  6  /

A1         B1         C1         D1
---------- ---------- ---------- ----------
AA         BB         CC         DD
AAAA                             DD

I substituted the "+" with the "*" to use it in SQL Server which made
my
query look like this:

SELECT     a1, b1, c1, d1
FROM       t1, t2, t3, t4
WHERE      t1.a =* t2.b
AND        t2.b =* t3.c
AND        t1.a2 = t4.d

But it fails with the error:

"The table 't1' is an inner member of an outer-join clause. This is
not
allowed if the table also participates in a regular join clause."

How to overcome this? Or is the query wrong?

Regards
Naveen


DISCLAIMER:
This message (including attachment if any) is confidential and may be
privileged. Before opening attachments please check them for viruses and
defects. MindTree Consulting Private Limited (MindTree) will not be
responsible for any viruses or defects or any forwarded attachments
emanating either from within MindTree or outside. If you have received
this message by mistake please notify the sender by return  e-mail and
delete this message from your system. Any unauthorized use or
dissemination of this message in whole or in part is strictly
prohibited.  Please note that e-mails are susceptible to change and
MindTree shall not be liable for any improper, untimely or incomplete
transmission.
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net 
-- 
Author: Naveen Nahata
  INET: [EMAIL PROTECTED] 

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: [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).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Darrell Landrum
  INET: [EMAIL PROTECTED]

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: [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