我认为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
答案 0 :(得分:1)
ID中有错误的ID:
INNER JOIN account_move_line aml ON (aml.reconcile_partial_id = amr.id)
它应该是reconcile_id而不是reconcile_partial_id。