PostgreSQL INNER JOIN与WHERE子句连接

时间:2013-04-24 08:58:29

标签: postgresql join inner-join

我认为INNER JOIN等同于WHERE子句中的JOIN。当我使用WHERE子句进行连接时,我得到了返回的行。但是如果我做INNER JOIN,那么没有任何行被输出。我得到的结果是没有匹配。  我错了,或者我做错了什么?

这些联接是否相同?:

INNNER JOIN:

account_move_reconcile_line_applied amrla
INNER JOIN account_move_reconcile_line amrl ON (amrla.credit_line_id = amrl.id)
INNER JOIN account_move_reconcile amr ON (amrl.credit_reconcile_id = amr.id)
INNER JOIN account_move_line aml ON (aml.reconcile_partial_id = amr.id)
INNER JOIN res_partner rp ON (aml.partner_id = rp.id)

IN WHERE子句:

amrla.credit_line_id = amrl.id
and amrl.partner_id = rp.id
and amrl.credit_reconcile_id = amr.id
and aml.reconcile_id = amr.id

1 个答案:

答案 0 :(得分:1)

ID中有错误的ID:

INNER JOIN account_move_line aml ON (aml.reconcile_partial_id = amr.id)

它应该是reconcile_id而不是reconcile_partial_id。