outer join help

From: Dorian Winterfeld <dorian_at_greenbelt.com>
Date: Sun, 11 Feb 2001 00:56:32 GMT
Message-ID: <4rlh6.4060$R45.1497484_at_typhoon2.ba-dsg.net>


Hi - I'm trying to do a right outer join in the following query:

SELECT TEXT AS ACT_DESC_TEXT,TITLE AS ACT_DESC_TEXT_TITLE,JUMP_LABEL AS ACT_DESC_JUMP_LABEL,IMAGE_FILENAME,IMAGE_ALT,IMAGE_CAPTION,IMAGE_WIDTH, IMAGE_HEIGHT,IMAGE_PHOTOGRAPHER,D.IMAGE_DATA_ID AS DATA_ID FROM ACTIVITY_TEXT_JUNC J,TEXT T,TEXT_TYPE TT,TEXT_IMAGE_JUNC IJ,IMAGE_DATA D,IMAGE I,IMAGE_TYPE IT
WHERE J.ACTIVITY_ID = &1
AND J.TEXT_ID = T.TEXT_ID
AND TT.TEXT_TYPE = 'Activity Description' AND TT.TEXT_TYPE_ID = T.TEXT_TYPE_ID

AND   T.TEXT_ID = IJ.TEXT_ID(+)
AND   I.IMAGE_DATA_ID = IJ.IMAGE_DATA_ID
AND   D.IMAGE_DATA_ID = I.IMAGE_DATA_ID

AND IT.IMAGE_TYPE_ID = I.IMAGE_TYPE_ID AND IT.IMAGE_TYPE = 'b'

I get a syntax error or "no rows selected" depending on where I place the (+). I know it should return at least one record. If I simplify the query to just two tables it works:

SQL> select text_id
  2 from text t, text_image_junc j
  3 where t.text_id = 1262
  4 and t.text_id = j.text_id(+)

The problem seems to stem from joining the subsequent tables. Any advice on how to make this join work would be appreciated.

  • Dorian Winterfeld dorian_at_uaqa.com
Received on Sun Feb 11 2001 - 01:56:32 CET

Original text of this message