From: | Richard Huxton <dev(at)archonet(dot)com> |
---|---|
To: | imam <imam(at)effigent(dot)net> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: problem while converting sybase quries to postgres |
Date: | 2005-02-03 09:33:41 |
Message-ID: | 4201EFF5.5000006@archonet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
imam wrote:
> The following is a sybase query and i am trying to convet it into
> postgres but in postgres the join will be specified in from clause
> and we cannot specify any logical operator
>
> i would be grateful if you could tell me the solution for it
You don't actually say what your query is trying to do.
> SELECT t1.SR_TRAN_HEAD_PK AS ReceiptHeaderPK,
> t1.ADJ_TRAN_ID AS AdjustmentTransactionID,
...other columns...
> FROM PE_POP_SR_POSTED_TRAN_HEAD t1,
> PE_POP_PO_HEADER t2,
> PE_POP_SR_POSTED_TRAN_DET t3
> Where t1.SR_TRAN_HEAD_PK = t3.SR_TRAN_HEAD_PK
> and (t1.PO_HEADER_PK *= t2.PO_HEADER_PK or t3.PO_HEADER_PK *=
> t2.PO_HEADER_PK)
If this is a left outer join, you could do something like:
SELECT
...
FROM
pe_pop_sr_posted_tran_head t1
LEFT JOIN
pe_pop_po_header t2
ON
t1.po_header_pk = t2.po_header_pk
LEFT JOIN
pe_pop_sr_posted_tran_det t3
ON
t2.po_header_pk = t3.po_header_pk
AND t1.sr_tran_head_pk = t3.sr_tran_head_pk
But you'll want to test it because I'm not clear what your query is doing.
--
Richard Huxton
Archonet Ltd
From | Date | Subject | |
---|---|---|---|
Next Message | Din Adrian | 2005-02-03 09:55:04 | Tunning postgresql on linux (fedora core 3) |
Previous Message | Michael Fuhr | 2005-02-03 06:49:20 | Re: problem with postgres |