MySQL Left Join在同一列上的两个表上返回NULL值

时间:2016-01-25 07:19:51

标签: php mysql

我有两张表entity_finantial_trxn

enter image description here

finantial_trxn

enter image description here

当我尝试两个在同一列上加入它们时,我得到其中一个的NULL值。

查询 -

SELECT *
FROM `financial_trxn` ft
  LEFT JOIN entity_financial_trxn eft
  ON eft.financial_trxn_id = ft.id AND eft.entity_table = 'contribution'
  LEFT JOIN entity_financial_trxn eft1
    ON eft1.financial_trxn_id = ft.id AND eft1.entity_table = 'financial_item'

为什么它为entity_table返回NULL,即使我为所有行都有值?

由于这个原因我没有获得所需的输出作为上述查询的附加Where clase隐藏了NULL行

WHERE (eft1.entity_table IS NOT NULL)

结果: enter image description here

1 个答案:

答案 0 :(得分:-1)

您的查询错误,请将您的查询更改为:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='menu'>
  <ul>
    <li> <a href='#'><span id="Science">Science</span></a>
      <ul>
        <li><a href='#'>Mathematics</a>
        </li>
        <li><a href='#'>Physics</a>
        </li>
        <li><a href='#'>Chemistry</a>
        </li>
      </ul>
    </li>
  </ul>
</div>