Re: problem while converting sybase quries to postgres
От | Richard Huxton |
---|---|
Тема | Re: problem while converting sybase quries to postgres |
Дата | |
Msg-id | 42020265.2000708@archonet.com обсуждение исходный текст |
Ответ на | problem while converting sybase quries to postgres ("imam" <imam@effigent.net>) |
Список | pgsql-sql |
Please cc: the list when you reply to me - that way others can help too. imam wrote: >>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 > > > Thanking for you reply the problem is that i have a "or" condition and left > outer join between two table.A po_header_table is comman in both the join as > given below > t1.PO_HEADER_PK *= t2.PO_HEADER_PK or t3.PO_HEADER_PK *= >>>t2.PO_HEADER_PK) Ah! Hadn't spotted that. Would this be what you're after? SELECT ... FROM ( SELECT t1.po_header_pk AS t1_phpk t3.po_header_pk AS t3_phpk ... FROM t1, t3 WHERE t1.sr_tran_head_pk = t3.sr_tran_head_pk ) AS first LEFT JOIN t2 ON ( first.t1_phpk = t2.po_header_pk OR first.t3_phpk = t2.po_header_pk ) Not sure what happens if t1_phpk and t3_phpk both match different rows in t2 or whether that's what you want. -- Richard Huxton Archonet Ltd
В списке pgsql-sql по дате отправления: