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