pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: kevin rowe <kevin@mtel.co.uk>
To: pgsql-sql@postgresql.org
Subject: mergejoin error message executing in 7.2
Date: Tue, 1 Jul 2003 12:12:16 +0100
Message-ID: <000701c33fc1$b83dc600$3401a8c0@kevin> (raw)

hi there,

I have a problem trying to execute a complex query that was designed in
7.3.2 to a machine running 7.2.x

this is the error message

FULL JOIN is only supported with mergejoinable join conditions

this is the source string for a jdbc prepared statement. (it has ordering
clause added at the end using string concatenation)
this string works fine in 7.3.2 but fails runtime in 7.2.

Does anyone know what the problem is?
I can't find the message on the net anywhere except in the 'C' source on
postgres's developer channel or some japanese site (sigh).

 strSQL =    "SELECT stock," +
                    "       p.description," +
                    "       p.stockgroup," +
                    "       o.ordercurrent," +
                    "       o.type," +
                    "       s.quantity," +
                    "       a.ordercurrent, " +
                    "       a.type " +
                    "  FROM " +
                    "       (SELECT stock,ordercurrent,type,line " +
                    "          FROM orderlines o " +
                    "         WHERE o.theorder = ? " +
                    "           AND (o.TYPE='P' OR o.TYPE='T') ) AS o" +
                    "  FULL OUTER JOIN " +
                    "       (SELECT DISTINCT ON (stock) stock,quantity " +
                    "          FROM standingorders s " +
                    "         WHERE s.account = ? " +
                    "           AND s.dayno = ? " +
                    "           AND s.delivery = ? "+
                    "           AND commencedate <= ? " +
                    "         ORDER BY stock, commencedate DESC) AS s " +
                    " USING (stock) " +
                    "  FULL OUTER JOIN " +
                    "       (SELECT stock,ordercurrent,type " +
                    "          FROM orderlines ol " +
                    "         WHERE ol.theorder = ? " +
                    "           AND ol.TYPE<>'P' " +
                    "           AND ol.TYPE<>'T' ) AS a " +
                    " USING (stock) " +
                    " INNER JOIN stockitems p ON (p.id=stock) " +
                    " WHERE p.status='N' " +
                    " ORDER BY ";

Any help greatly appreciated.

Regards,
Kevin




view thread (2+ messages)  latest in thread

Message-ID: <000701c33fc1$b83dc600$3401a8c0@kevin>
Permalink:  ../000701c33fc1$b83dc600$3401a8c0@kevin/
Also on:    postgresql.org/message-id/000701c33fc1$b83dc600$3401a8c0@kevin

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: kevin@mtel.co.uk
  Subject: Re: mergejoin error message executing in 7.2
  In-Reply-To: <000701c33fc1$b83dc600$3401a8c0@kevin>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox